In diesem Step, werden wir unseren ersten "Pointer" suchen :-)
Pointer sind nötig, um einen gefunden Wert immer wieder zu finden wenn er sich ändert,
was bei den meisten Spielen der Fall ist.
Wir haben einen Wert von "100", der sich ändern sobald wir auf "Change value" klicken.
Klicken wir auf "Change pointer" wir die Speicheradresse geändert und unser gefundener Wert unbrauchbar...
... es sei denn... wir haben den richtigen "Pointer" gefunden :-)

Los geht's... suchen wir erst einmal unsere aktuelle Speicheradresse von unserem Wert.

Wie immer reicht eine Suche nicht, darum ändern wir den Wert...

... und suchen noch einmal... und finden die richtige Adresse auch.

Mit Doppelklick wieder nach unten klicken

Rechtsklick auf die Adresse... diesmal aber "Find out what accesses this address" wählen.
Dies bewirkt, dass wir diesmal nicht herausfinden wollen, was in diese Adresse schreibt, sondern was aus dieser Adresse liest.

Die Messagebox wird wieder mit "Yes" bestätigt

Ein leeres Fenster öffnet sich wieder.

Verändern wir zunächst mal unseren Wert.

Es erscheinen 4 Einträge.
Da wir nicht wissen welcher Eintrag der richtige ist, müssen wir diese erstmal checken.

Doppelklicken wir den ersten Eintrag.
Hier sollte man schon über einige ASM Kenntnisse verfügen, damit man auch weiß, was hier genau passiert.
Bei der Adresse "10002ADCD" wird der Inhalt vom Register "RAX" ins Register "EAX" kopiert
Würde hier z.B. "10002ADCD - mov eax, [rax+5]" stehen, wäre "5" unser "Offset".
Das aber auch nur um zu erklären wo wir die Offsets finden :-)
Im unteren Teil sehen wir die Werte die jedes Register beinhaltet.
Das Register "RAX" beinhaltet hier den Wert bzw die Adresse "00000042"
Dieser Wert wird uns in der Mitte auch angezeigt... mehr dazu aber gleich.
Sehen wir uns erst noch die anderen Einträge an :-)

Beim zweiten Eintrag wird der Inhalt von "EAX" nach "RDX" kopiert

Beim dritten Eintrag wird auch "EAX" nach "RDX" kopiert

Auch im vierten Eintrag wird "EAX" nach "RDX" kopiert.
Ich nehme den vierten Eintrag... es sollte aber auch mit dem zweitem und dritten Eintrag funktionieren.
In der Mitte machen wir einen Rechtsklick auf die Adresse "010F4580" und klicken auf
"Copy easy guess to clipboard" um diese Adresse in unsere Zwischenablage zu kopieren.

Diese Adresse fügen wir in unserer Suche ein und aktivieren das Häkchen "HEX"
Wir finden eine grüne Adresse... dies ist ein "Pointer"
Den gefundenen Pointer doppelklicken wir auch gleich wieder, damit wir ihn in unserem Chatfenster haben.

Jetzt klicken wir auf "Add Address Manually" um dieses Fenster zu öffnen.
Aktivieren die Checkbox "Pointer" und bei "Address of Pointer" fügen wir unsere gefundene Adresse "1001FD720" ein.
Einen Offset haben wir nicht gehabt, wie wir uns erinnern können... also belassen wir den bei "0"

Haben wir mit "OK" bestätigt sehen wir nun folgendes:
Wir haben nun eine zweite Adesse hinzugefügt. Unseren eben erstellten "Pointer" erkennen wir an dem "P->" vor der Adresse.
Beide haben den selben Wert... zumindest noch :-)
Unser Pointer wird aber immer auf den richtigen Wert zeigen.

Das können wir nun auch problemlos testen, indem wir einfach in der "Tutorial.exe" auf den Button "Change pointer" klicken.

Wie wir sehen, zeigt unser Pointer immer noch auf die richtige Adresse... YIPPIEH :-)
Sollten hier jetzt beide Adressen den falschen Wert anzeigen, hast du wohl etwas falsch gemacht.
Dann musst du nochmal von vorne beginnen.

Nun ändern wir einfach unseren Wert auf "5000" und aktivieren das Häkchen, damit der Wert eingefroren wird "Freeze"

Step 6 ist geschafft und ein weiterer wichtiger Schritt wurde gelernt.
Ohne das Wissen wie man "Pointer" findet, ist man bei fast allen Spielen aufgeschmissen.
Weiter zu Step 7 :-)

Gefällt dir diese Seite?
Abonniere mich, Like mich, Teile mich :-)