25.09.2012, 19:29
(Dieser Beitrag wurde zuletzt bearbeitet: 25.09.2012, 19:30 von iNvIcTUs oRCuS.)
Im Prinzip hast Du das schon richtig verstanden, aber mit der Codecave haperts noch ein bisschen...
Wie habe ich die Adresse/den Code gefunden?
Der Screenshot zeigts eigentlich...
Nun zur Codecave...
Erstes Problem ist hier das durch den Sprung zur Codecave auch der Befehl
[code=ASM]cmp [game.dat+5E6968],ebx[/code]überschrieben wird. Das heißt das der CMP inklusive dem bedingten Sprung auch in der Codecave mit reinmuss...
Z.B. könnte man das so lösen...
Der Sprung zur Codecave erfolgt von "game.dat+10A65D"
[code=ASM]00400410 - 80 3D 00044000 01 - cmp byte ptr [00400400],01 // Hilfsbyte gesetzt Ja/Nein?
00400417 - 75 0E - jne 00400427 // Wenn nicht dann weiter zum Originalcode
00400419 - 81 40 38 10270000 - add [eax+38],00002710 // Ansonsten - Addiere 10.000 zum bestehenden Betrag
00400420 - C6 05 00044000 00 - mov byte ptr [00400400],00 // Nicht vergessen Hilfsbyte zurücksetzen ansonsten wird immer wieder hinzuaddiert
00400427 - 8B 58 38 - mov ebx,[eax+38] // Originalcode
0040042A - 39 1D 68699E00 - cmp [game.dat+5E6968],ebx // Originalcode
00400430 - 0F84 92A21000 - je game.dat+10A6C8
00400436 - E9 2DA21000 - jmp game.dat+10A668
[/code]
Wie habe ich die Adresse/den Code gefunden?
Der Screenshot zeigts eigentlich...
Nun zur Codecave...
Erstes Problem ist hier das durch den Sprung zur Codecave auch der Befehl
[code=ASM]cmp [game.dat+5E6968],ebx[/code]überschrieben wird. Das heißt das der CMP inklusive dem bedingten Sprung auch in der Codecave mit reinmuss...
Z.B. könnte man das so lösen...
Der Sprung zur Codecave erfolgt von "game.dat+10A65D"
[code=ASM]00400410 - 80 3D 00044000 01 - cmp byte ptr [00400400],01 // Hilfsbyte gesetzt Ja/Nein?
00400417 - 75 0E - jne 00400427 // Wenn nicht dann weiter zum Originalcode
00400419 - 81 40 38 10270000 - add [eax+38],00002710 // Ansonsten - Addiere 10.000 zum bestehenden Betrag
00400420 - C6 05 00044000 00 - mov byte ptr [00400400],00 // Nicht vergessen Hilfsbyte zurücksetzen ansonsten wird immer wieder hinzuaddiert
00400427 - 8B 58 38 - mov ebx,[eax+38] // Originalcode
0040042A - 39 1D 68699E00 - cmp [game.dat+5E6968],ebx // Originalcode
00400430 - 0F84 92A21000 - je game.dat+10A6C8
00400436 - E9 2DA21000 - jmp game.dat+10A668
[/code]
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!
Traineranfragen per PM werden prinzipiell gelöscht...
Traineranfragen per PM werden prinzipiell gelöscht...