Hey. Ich habe in C++ ein Projekt für ein MMORPG gemacht. Es ist eine DLL, die im Spiel einiges ausliest wie Leben etc. aber auch andere Sachen automatisiert mittels ASM. So weit so gut. Das MMORPG läd DLL Dateien automatisch mit, wenn man die DLL im Ordner des Spieles hat, und sie in .mix statt .dll umbenennt. Alles funktioniert.
Nun mein Problem: Starte ich die DLL via Injector (Hab viele probiert), crasht das Spiel wenn man ingame ist (Ingame werden erst Timer etc. zum Auslesen aktiviert). Nun gut, also hab ich überall Messageboxen gemacht und geguckt worans liegt. Es liegt am Auslesen des Lebens, was als MIX Datei funktioniert. Mache ich ein __try davor, crasht das Spiel nicht, aber die Funktion gibt mir 0 aus. Also garnichts. Merke: Als Mix geht genau diese Funktion auch :D
Das komische: Alles andere, auch andere ASM Funktionen funktionieren. Auch wenn die die Funktion per Button aufrufe, nichts.
Hier ist die Funktion:
Was ist damit los? Warum geht alles nur nicht diese Funktion wenn ich es injecte? Als Mix funktioniert das ja alles, auch das Auslesen des Lebens.
Es ist echt schwierig dieses Problem zu beschreiben..
Vielleicht kennt sich ja jemand aus. Vielleicht mache ich ja einen Fehler.
Danke sehr :)
Mfg. Easy
Nun mein Problem: Starte ich die DLL via Injector (Hab viele probiert), crasht das Spiel wenn man ingame ist (Ingame werden erst Timer etc. zum Auslesen aktiviert). Nun gut, also hab ich überall Messageboxen gemacht und geguckt worans liegt. Es liegt am Auslesen des Lebens, was als MIX Datei funktioniert. Mache ich ein __try davor, crasht das Spiel nicht, aber die Funktion gibt mir 0 aus. Also garnichts. Merke: Als Mix geht genau diese Funktion auch :D
Das komische: Alles andere, auch andere ASM Funktionen funktionieren. Auch wenn die die Funktion per Button aufrufe, nichts.
Hier ist die Funktion:
Code:
void GetHealth() {
DWORD value;
DWORD typ = 0x05;
__asm {
MOV ECX, [Statuspointer]
MOV EAX, [ECX + 05]
MOV EDX, [EAX + 11]
ADD ECX, 5
PUSH typ
CALL EDX
MOV value, EAX
}
}
Es ist echt schwierig dieses Problem zu beschreiben..
Vielleicht kennt sich ja jemand aus. Vielleicht mache ich ja einen Fehler.
Danke sehr :)
Mfg. Easy