Sitat av
Dyret
(Regner med at det er shared objects du leker med)
Og hvordan opprettet du objektfilene dine? Når du begynner med offsets inn i minnet så er du på ganske tynn is. Offset vil være avhengig av arkitektur og compiler, så jeg ville heller tatt en titt på eksemplene her:
http://www.javahotchocolate.com/tutorials/so.html
Der er noen simple eksempler som bruker printf. Legg spesielt merke til -fPIC.
Edit: Så vidt jeg ser så caster du funksjonen til en int-
peker-returnerende funksjon som tar ingen parametere.
Disse blir kompilert med GCC.
Kode
gcc -Wall -Werror -fpic -c -o object.o object.c
gcc -shared -o libobject.so object.o
Nei, jeg caster ikkje til en int-peker-returnerende funksjon som tar ingen parametere, det hadde sett slik ut:
Kode
something = ( int * ( * )( ))( mcode + 0x41 );
Det jeg caster til er en funksjon-pointer som tar ingen argumenter og som returnerer int.