Hab mal auf die schnelle ein kleines Tut geschrieben:
Also, am besten besorgt ihr euch CE (CheatEngine) damit geht's am einfachsten!
Wir nehmen mal das Beispiel Solitär. Wir wollen die Anzahl der Punkte auslesen.
Also, CE öffnen und sol.exe damit öffnen.
Erst auf
First Scan klicken, dann einfach auswählen:
Code:
Value Type: 4 Byte
Scan Type: Exact Value
Value: 0 (haben ja am Anfang 0 Punkte;) )
Jetzt einfach mal in Solitär irgend etwas machen was Punkte gibt. Punkte merken und Rückgängig machen klicken.
Dann geht ihr Auf
Scan Type und
Increased by... [Punkte]
Dann die Aktion wieder durchführen und
Next Scan drücken.
Einfach solange rum machen bis ihr die Adresse gefunden habt.
Doppelklick auf die Adresse so das sie unten in der Adress Liste erscheint.
Testet das ganze dann einfach indem ihr die Punkte ändert. (In der Adress Liste doppelt draufklicken auf die Adress und einfach einen neuen Wert eingeben)
In meinem Fall ist die Adresse
Dann Rechtsklick auf die Adresse im Adress Fenster und
Find out what writes to this address.
Dann erscheint früher oder später in dem neuen Fenster die Zeile:
Code:
mov[esi+30],eax
Jetzt drückt ihr auf die Zeile und dann auf
More Information.
In dem neuen Popup findet ihr dann unten die Werte für die Register. In meinem Fall ist
Jetzt klickt ihr die beiden PopUp's wieder weg.
Dann geht ihr auf
New Scan und markiert dann links neben Value
Hex. In den Kasten Value gebt ihr den Wert den ESI hat ein. Also in meinem Fall 000A9208.
Jetzt erscheint links eine grün gefärbte Adresse und zwar 01007170 mit dem Wert 000A9208. Zumindest wenn ihr alles richtig gemacht habt. :P
Wenn die Adresse grün gefärbt ist bedeutet dass, das dies ein Static Pointer ist.
Dass heißt, der Pointer auf die Punkte ist IMMER! der Wert hinter der Adresse
Ihr müsst also nur die Adresse 0x0100710 auslesen und 0x30 dazu addieren
In C++ sähe das so aus:
Code:
unsigned int address;
ReadProcessMemory(hProcess,(LPVOID)0x01007170,(LPVOID)&address,sizeof(address),0);
address += 0x30; // = Die Adresse für die Punkte :)
Ich hoffe ich konnte helfen^^