Es gibt verschiedene Programme, um etwas zu dumpen. Als Beispiel wären da
(x86) und
(x86) & (x64). In diesem Fall habe ich x64 und nehme CHimpREC, aber das CHimpREC.exe und nicht CHimpREC 64.exe, weil WarRock.exe eine 32 Bit-Datei ist.
1. Ihr startet CHimpREC (als Adminstrator)
2. Ihr startet WarRock
3. Ihr sucht in den Prozessen die WarRock.exe
4. Ihr drückt auf "Dump" und wählt einen Speicherort aus
(x86) und
(x86) & (x64). In diesem Fall habe ich x64 und nehme CHimpREC, aber das CHimpREC.exe und nicht CHimpREC 64.exe, weil WarRock.exe eine 32 Bit-Datei ist.1. Ihr startet CHimpREC (als Adminstrator)
2. Ihr startet WarRock
3. Ihr sucht in den Prozessen die WarRock.exe
4. Ihr drückt auf "Dump" und wählt einen Speicherort aus
2. Addylogger:
Addylogger sind Programme, die es euch leichter machen an Adressen zu kommen. Ihr müsst dafür nur den Injector und dann WarRock starten. Die Adressen sollten sich dann in einem Textdokument aufhalten.
Als erstes braucht ihr
. Und nun startet ihr OllyDbg als Adminstrator. Jetzt müsst ihr "Pattern" suchen, diese "Pattern" werden nachher die Adressen aus WarRock suchen (Vorraussetzung: Addylogger-Base).
Als erstes öffnet ihr OllyDbg als Adminstrator. Danach geht ihr auf File -> Open und öffnet die gedumpte WarRock.exe. Als nächstes klickt ihr oben auf das Play Zeichen.
Als nächstes macht ihr Rechtsklick -> Search for -> All constants.
Wir nehmen als Beispiel die PlantAnywhere Adresse. Diese gebt ihr im Fenster ein, welches erscheint. Ihr geht die Adresse aber ohne 0x ein.
Dann erscheint ein weiteres Fenster, dort wählen wir das 3. aus (Am besten immer nach MOV BYTE PTR suchen).
Dort sehen wir nun Bytes. Diese Bytes finden nachher die Adresse für PlantAnywhere. Die Bytes die Links sind, sind die Pattern. Also nehmen wir \x88\x1D. Und nun müssen wir auf die nächste Zeile springen, von daher fügen wir noch \x00\x00\x00\x00 hinzu. Und jetzt die nächsten Bytes, die links sind, also \xC6\x05.
Als nächstes adden wir , "xx????xx", 2, true); die x stehen für die bekannten Bytes, also 88 1D C6 und 05. Die ? stehen für die 00. Die 2 nach dem Komma steht dafür, dass am Anfang 2 Bytes sind, also vor den 00'en.
Die Pattern sehen also so aus:
. Und nun startet ihr OllyDbg als Adminstrator. Jetzt müsst ihr "Pattern" suchen, diese "Pattern" werden nachher die Adressen aus WarRock suchen (Vorraussetzung: Addylogger-Base).Als erstes öffnet ihr OllyDbg als Adminstrator. Danach geht ihr auf File -> Open und öffnet die gedumpte WarRock.exe. Als nächstes klickt ihr oben auf das Play Zeichen.
Als nächstes macht ihr Rechtsklick -> Search for -> All constants.
Wir nehmen als Beispiel die PlantAnywhere Adresse. Diese gebt ihr im Fenster ein, welches erscheint. Ihr geht die Adresse aber ohne 0x ein.
Dann erscheint ein weiteres Fenster, dort wählen wir das 3. aus (Am besten immer nach MOV BYTE PTR suchen).
Dort sehen wir nun Bytes. Diese Bytes finden nachher die Adresse für PlantAnywhere. Die Bytes die Links sind, sind die Pattern. Also nehmen wir \x88\x1D. Und nun müssen wir auf die nächste Zeile springen, von daher fügen wir noch \x00\x00\x00\x00 hinzu. Und jetzt die nächsten Bytes, die links sind, also \xC6\x05.
Als nächstes adden wir , "xx????xx", 2, true); die x stehen für die bekannten Bytes, also 88 1D C6 und 05. Die ? stehen für die 00. Die 2 nach dem Komma steht dafür, dass am Anfang 2 Bytes sind, also vor den 00'en.
Die Pattern sehen also so aus:
3. Adressen mithilfe von der Dumped WarRock.exe suchen:
Als erstes öffnet ihr wieder OllyDbg als Adminstrator. Danach geht ihr auf File -> Open und öffnet die gedumpte WarRock.exe. Als nächstes klickt ihr oben auf das Play Zeichen.
Als nächstes macht ihr Rechtsklick -> Search for -> All referenced text strings.
Nun scrollt ihr beim neuen Fenster ganz nach oben und klickt 1x den höchsten Text an. Jetzt macht ihr Rechtsklick -> search for text und gebt dort (Als Beispiel) Water.HeightRatio ein. Das heißt, wir werden die WaterHeight Adresse suchen.
Nun klickt ihr dort doppelt drauf und seht schon etwas unten die Adresse für WaterHeight. Es ist 0xB05A28.
Wenn ihr bei den Text Strings etwas weiter hoch geht, seht ihr Fog.Color. Wenn ihr diese anklickt seht ihr die 3 Adressen für FogColor. Es sind 0xB059D8, 0xB059D4 und 0xB059D0.
Auf diese Weise könnt ihr auch alle anderen Adressen finden.
Als nächstes macht ihr Rechtsklick -> Search for -> All referenced text strings.
Nun scrollt ihr beim neuen Fenster ganz nach oben und klickt 1x den höchsten Text an. Jetzt macht ihr Rechtsklick -> search for text und gebt dort (Als Beispiel) Water.HeightRatio ein. Das heißt, wir werden die WaterHeight Adresse suchen.
Nun klickt ihr dort doppelt drauf und seht schon etwas unten die Adresse für WaterHeight. Es ist 0xB05A28.
Wenn ihr bei den Text Strings etwas weiter hoch geht, seht ihr Fog.Color. Wenn ihr diese anklickt seht ihr die 3 Adressen für FogColor. Es sind 0xB059D8, 0xB059D4 und 0xB059D0.
Auf diese Weise könnt ihr auch alle anderen Adressen finden.
4. Was kann man mit Adressen finden?
Mit Adressen kann man On- und Offbytes für ASM suchen. Natürlich kann man auch die Pattern, dass habe ich euch schon erklärt. Wie ihr On- und Offbytes für ASM sucht, erkläre ich euch jetzt.
Als erstes öffnet ihr wieder OllyDbg als Adminstrator. Danach geht ihr auf File -> Open und öffnet die gedumpte WarRock.exe. Als nächstes klickt ihr oben auf das Play Zeichen.
Nun klickt ihr Strg + G und es erscheint ein kleines Fenster. Dort gebt ihr (Als Beispiel) die Quick Plant Adresse ohne 0x ein. Anschließend klickt ihr auf OK.
Jetzt seht ihr schon sofort in der 1. Zeile die Off-Bytes. \x7D\x16 sind also die Off-Bytes.
Wenn ihr etwas weiter nach unten geht, seht ihr FSTSW AX. Die ASM Adresse davon ist 528985.
Da FSTSW AX vorhanden ist, fangen die On-Bytes mit \xEB an. Jetzt müssen wir nur noch die 2. Byte ausrechnen, da es nur 2 Bytes sind. Das wissen wir, weil die Off-Bytes auch 2 Bytes haben. So, ihr öffnet als nächstes euren Rechner, klickt Alt + 3 und gebt dort unter Hex die Adresse von FSTSW AX ein. Jetzt rechnet ihr minus die Quickplant Adresse. Also 528985 - 528951. Das ergibt 34. Also ist die 2. On-Byte \x34. Zusammen wäre es dann \xEB\x34.
Es gibt aber auch Situationen, wo kein FSTSW AX vorhanden ist, dann müsst ihr meistens nach NOPS suchen, also x90. Dafür geht ihr auf die Zeile der Adresse, macht Rechtsklick -> Binary -> Fill with NOP's. Dann zeigt euch OllyDbg an, wieviele Nops es sind (meistens genau so viele wie die Off-Bytes).
Als erstes öffnet ihr wieder OllyDbg als Adminstrator. Danach geht ihr auf File -> Open und öffnet die gedumpte WarRock.exe. Als nächstes klickt ihr oben auf das Play Zeichen.
Nun klickt ihr Strg + G und es erscheint ein kleines Fenster. Dort gebt ihr (Als Beispiel) die Quick Plant Adresse ohne 0x ein. Anschließend klickt ihr auf OK.
Jetzt seht ihr schon sofort in der 1. Zeile die Off-Bytes. \x7D\x16 sind also die Off-Bytes.
Wenn ihr etwas weiter nach unten geht, seht ihr FSTSW AX. Die ASM Adresse davon ist 528985.
Da FSTSW AX vorhanden ist, fangen die On-Bytes mit \xEB an. Jetzt müssen wir nur noch die 2. Byte ausrechnen, da es nur 2 Bytes sind. Das wissen wir, weil die Off-Bytes auch 2 Bytes haben. So, ihr öffnet als nächstes euren Rechner, klickt Alt + 3 und gebt dort unter Hex die Adresse von FSTSW AX ein. Jetzt rechnet ihr minus die Quickplant Adresse. Also 528985 - 528951. Das ergibt 34. Also ist die 2. On-Byte \x34. Zusammen wäre es dann \xEB\x34.
Es gibt aber auch Situationen, wo kein FSTSW AX vorhanden ist, dann müsst ihr meistens nach NOPS suchen, also x90. Dafür geht ihr auf die Zeile der Adresse, macht Rechtsklick -> Binary -> Fill with NOP's. Dann zeigt euch OllyDbg an, wieviele Nops es sind (meistens genau so viele wie die Off-Bytes).
Ich hoffe das Guide hat euch geholfen.
Credits: Büny™ - 100% Selbstgeschrieben.
Big and Special Thanks to DashWar & AlexK, ihr habt mir damals vieles beigebracht.
Mfg,
Büny™
Partnerthread:







