C++ Problem mit Detourung [gelöst, bitte schließen]
-
EDIT: Habs schon gelöst. Ich hab vergessen das ebp-24 in hexa form ist, d.h. es müsste ebp-36 heißen
Hallo liebe cpp Comunity,
ich versuche einen Detour für eine Serveranwendung zu schreiben.
Folgendes soll mein Detour bezwecken:
- Ziel ist es, statt der eine Zeile des Orginal Codes, meinen eigenen Code auszuführen.Meine Überlegung: ich detoure eine Zeile nach der Orginalzeile und überschreibe dabei den Orginalen Werd mit meinem und lasse dann den Orginalcode weiterarbeiten.
Mein Ansatz:
static void (__cdecl *CMonster_Create)() = (void (__cdecl*)())0x004401D1; void __cdecl Hooked_CMonster_Create() { cout<<"Monster is spawning!"<<endl; __asm mov [ebp-24],016h CMonster_Create();}
Wenn ich den Wert von [ebp-24] über ida manuel ändere funktioniert es, aber mein Scripit hier leider nicht. Was mache ich falsch?
IDA view:
http://www.directupload.net/file/d/3771/47vhxyf9_jpg.htm
MfG
Barry