Schreib doch gleich "schreibt mir mal bitte nen Hook für die Funktion hier"...
Überschreib die ersten fünf (ein JMP/CALL bringts auf 5 Bytes wenn ich mich recht erinnere) Bytes mit dem JMP/CALL zu deiner Funktion (welche entweder naked, also ohne Calling Convention oder mit derselben Calling Convention wie die gehookte Funktion sein kann), dann, wenn ggf. innerhalb der ersten 5 Bytes Instructions abgeschnitten wurden, musst du natürlich die restlichen Bytes der Instruction NOPen, damit die dann nicht eine neue Instruction bilden. Dann machst du in deiner Funktion was du möchtest und vergiss bitte nicht die überschriebene Instruction auszuführen. Die Parameter auf dem Stack darfst du natürlich auch nicht außer Acht lassen, die müssen wenn du dann am Ende deiner Funktion wieder zurück in die gehookte Funktion + "gelöschte" Bytes steigst auch an der selben Position sein (bzw. eben an der Position an die sie die überschrieben Instruction stellt. Viel Glück!
5Bytes genügen bei 32bit Bteriebssystemen. Bei 64bit würde ich mir das nochmal überlegen. Da kann die Speicheradresse der Funktion auchmal größer als 4Bytes sein.
5Bytes genügen bei 32bit Bteriebssystemen. Bei 64bit würde ich mir das nochmal überlegen. Da kann die Speicheradresse der Funktion auchmal größer als 4Bytes sein.
Da die meisten Programme aber für x86 kompiliert und auf der WOW64 VM laufen, macht das keinen Unterschied, da werden virtuell trotzdem nur 4 Bytes zur Addressierung genutzt.
In einer laufenden Anwendung .dll funktion Aufrufen 03/30/2011 - AutoIt - 10 Replies hallo,
wie es in der Überschrift schon steht möchte ich in einem laufendem Spiel eine funktion aus dessen .dll aufrufen. Habe dazu noch nichts richtiges gefunden und wollte deshalb euch fragen. Normal wird durch einen Tastendruck diese Funktion ausgelöst. Da aber diese Taste (tab-taste) im Spiel geblockt wird (funktion existiert aber noch) will ich nun mithilfe eines externen Programms die Funktion aufrufen.
ProzessName: Nksp.exe
DllName: Engine.dll
Hoffentlich könnt ihr mir helfen ;)
...
[C++] Vraiblen einer KLasse in die Funktion einer anderen einfügen 03/14/2011 - C/C++ - 10 Replies Hallo Leute,
Ich habe mal wieder eine Frage :D
Ich bin gerade dabei ein kleines Spiel(noch ist es klein ;D) zu programmieren.
Dabei bin ich auf das Problem gestoßen, dass ich gerne die Verteidigung der "User" Class in eine Berechnung(Funktion) einer "Npc" Class einbinden würde. Dies funktioniert aber weder durch:
-Einführen einer Funktion in der User class die eine Variable returned die den selben Wert besitzt, wie die Variable der Verteidigung in der Userclass
-Direktes Aufrufen der...
Hilfe bei einer Quest (Spezial Funktion) 07/29/2010 - Metin2 Private Server - 8 Replies Hallo zusammen :)
und zwar möchste ich einer NPC eine bestimmte funktion geben !
Ist eig. ne simple funktion nur ich weiß nicht wie ich das machen soll xD
Kommen wir mal jetzt zur der Funktion:
Wenn man auf die NPC klickt soll ein kleines Fenster erscheinen. Dort soll z.B. GM stehen. Wenn man dann drauf klickt soll eine Passwortabfrage kommen (könnte z.B LagerPW sein oder so) !
Wäre so was möglich? Wenn ja wie kann man das machen ?
Helfer bekommen reichlich Thx :D
[C++]Funktion einer Klasse in einer anderen Funktion der Klasse verwenden, aber wie? 07/25/2010 - C/C++ - 3 Replies Mein Problem ist eigentlich recht simpel und die Lösung wahrscheinlich auch.
Da ich bisher fast 0 mit Klassen am Hut hatte, wollte ich mich doch mit dem Thema anfreunden und hatte gleich angefangen:
int test::Funktion2()
{
int temp;
cin>>temp;
return temp;
}