25.09.2012, 18:13
(21.09.2012, 08:06)sILeNt heLLsCrEAm schrieb: Man muss nich unbedingt nochmal GetAsync callen...
Geht mit nem simplen Hilfsbyte einfacher... Nen simpler Additionscheat halt...
Wie gesagt, ich schau mir das mal kurz an...
EDIT//
So ich hab mir das mal schnell angeschaut. Der Einfachheit halber hab ich dafür nen Keks aufgespielt.
Das was Du suchst befindet sich hier...
[code=ASM]game.dat+10A65B - 74 78 - je game.dat+10A6D5
game.dat+10A65D - 8B 58 38 - mov ebx,[eax+38] //[eax+38] = Geldadresse
game.dat+10A660 - 39 1D 68699E00 - cmp [game.dat+5E6968],ebx
game.dat+10A666 - 74 60 - je game.dat+10A6C8[/code]
Allerdings hab ich mir nur mal die erste Mission angeschaut, die wo man den Güterbahnhof übernehmen und halten muss. Fraktion war glaub ich die "Westliche Allianz". Es könnte aber durchaus sein das in anderen Missionen und/oder Fraktionen sich ein entsprechender Code an anderer Stelle befindet.
Ich habs mir grad mal angeschaut. Wenn ich das richtig verstanden habe, wird der Wert an der Geldadresse nach ebx geschrieben, anschliessend mit [game.dat+5E6968] verglichen und wenn beide identisch sind, wird ein Sprung ausgeführt.
Wenn ich das weiter richtig verstanden habe, soll ich jetzt eine Codecave schreiben, die ebx vor dem Vergleich ändert.
Könnte man theoretisch so machen, dass man bei Tastendruck ein bestimmtes Byte im Speicher von 00 auf 01 setzt, wenn das der Fall ist, erhöhe ebx um 5000 und setze Byte zurück auf 00, ansonsten belasse den Wert so.
Hmm mal schaun, ob ich das jetzt auf die Reihe bekomme...
Beispielsweise meine Cave beginnt bei Adresse 02360000
Code:
1 |
|
So in etwa könnte ich mir das jetzt gerade vorstellen...
Ich hab jetzt allerdings 2 Anliegen...
1. Hab ich das so richtig verstanden und wäre die Umsetzung so korekt?
2. Wie hast du diese Stelle gefunden?
LG Darius83
Es gibt 10 verschiedene Typen von Personen, die, die ich mag und die, die ich nicht verstehen kann...