28.12.2011, 22:47
Hey,
ich glaube du hast da etwas noch nicht ganz verstanden. Einde CodeInjection hat nichts mit einem Pointer zu tun.
Ein Pointer zeigt (wie der Name schon sagt) lediglich auf eine bestimmte Adresse. D.h wenn die Adresse dynamisch ist, gibt es eine Basisadresse auf welche dann Offsets hinaufaddiert werden, bis man dann an der gewünschten Adresse angekommen ist. Die Basisadresse zeigt also über gewisse Umwege auf die gesuchte Adresse.
Bei einer CodeInjection hingegen, modifiziert man den Code des Spiels. D.h. man sucht einen Opcode, welcher Werte von einer Adresse ließt, oder schreibt und modifiziert diesen dahingehend, dass er immer zu einer von dir gewählten Stelle im Code springt. An dieser Stelle seht nun am Besten dein eigener Code, welcher die Adresse, welche den Opcode durchläuft, verändert. Somit braust du keinen Pointer suchen, da der Opcode immer gleich bleibt und sich auch seine Position im Code nicht ändert.
EAX und EDI sind sogenannte Register. Diese werden vom Prozessor für allerlei Aktionen benötigt. D.h. wenn du in einer Programmiersprache
ich glaube du hast da etwas noch nicht ganz verstanden. Einde CodeInjection hat nichts mit einem Pointer zu tun.
Ein Pointer zeigt (wie der Name schon sagt) lediglich auf eine bestimmte Adresse. D.h wenn die Adresse dynamisch ist, gibt es eine Basisadresse auf welche dann Offsets hinaufaddiert werden, bis man dann an der gewünschten Adresse angekommen ist. Die Basisadresse zeigt also über gewisse Umwege auf die gesuchte Adresse.
Bei einer CodeInjection hingegen, modifiziert man den Code des Spiels. D.h. man sucht einen Opcode, welcher Werte von einer Adresse ließt, oder schreibt und modifiziert diesen dahingehend, dass er immer zu einer von dir gewählten Stelle im Code springt. An dieser Stelle seht nun am Besten dein eigener Code, welcher die Adresse, welche den Opcode durchläuft, verändert. Somit braust du keinen Pointer suchen, da der Opcode immer gleich bleibt und sich auch seine Position im Code nicht ändert.
EAX und EDI sind sogenannte Register. Diese werden vom Prozessor für allerlei Aktionen benötigt. D.h. wenn du in einer Programmiersprache
Code:
|
schreibst, dann wird das folgendermaßen umgesetzt:
Code:
|
Google es aber am Besten selber noch ein mal nach.
"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"