01.03.2013, 01:49
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2013, 05:16 von iNvIcTUs oRCuS.)
Wie Acubra schon sagte...
Durch diese Subroutine läuft auch die Verschlüsselung verschiedener anderer Werte.
Und da du den Speicher nicht weiter ausgefiltert hast änderst du nicht nur den Geldwert sondern alles andere auch...
Das Spiel selbst hab ich nicht mehr auf der Platte, aber es könnte durchaus sein das du noch nicht mal den Wert richtig geschrieben hast.
Ich meine, es wird zwar angezeigt das dein Geldwert 255 ist es aber durchaus sein könnte das du nur die grafische Anzeige auf 255 gesetzt hast, also der Geldwert reell dennoch abnimmt.
Aber wenn dem so ist das deine Lösung für das Geld erstmal funktioniert dann müsste das vielleicht etwas einfacher gehen...
EDIT//
Das mit der eigenen Routine ist ganz simpel. Du kopierst den Inhalt der Subroutine an eine freie Stelle im Speicher. Dann änderst Du diesen Befehl...
[code=ASM]004101C2 |. E8 09A40500 |call 0046A5D0h[/code] dementsprechend um damit die Subroutine aufgerufen wird die Du grade kopiert hast. Wenn Du also den Inhalt der Routine z.B. an Adresse 0x400400h kopiert hast änderst Du den Befehl von "call 0046A5D0h" zu "call 00400400h". Dann kannst Du innerhalb dieser Routine, die an Adresse 0x400400h beginnt deine CI machen wie Du es beschrieben hast.
Ich hab mich aber jetzt für eine andere Möglichkeit entschieden die meines Erachtens auch eleganter und einfacher ist. Diese erfordert zwar zwei Codecaves, aber dennoch können auch andere Optionen berücksichtigt werden.
Diese Lösung könnte ich hier mal posten und entsprechend dazu erklären. So ist es für dich sicherlich einfacher und verständlicher.
Durch diese Subroutine läuft auch die Verschlüsselung verschiedener anderer Werte.
Und da du den Speicher nicht weiter ausgefiltert hast änderst du nicht nur den Geldwert sondern alles andere auch...
Das Spiel selbst hab ich nicht mehr auf der Platte, aber es könnte durchaus sein das du noch nicht mal den Wert richtig geschrieben hast.
Ich meine, es wird zwar angezeigt das dein Geldwert 255 ist es aber durchaus sein könnte das du nur die grafische Anzeige auf 255 gesetzt hast, also der Geldwert reell dennoch abnimmt.
Aber wenn dem so ist das deine Lösung für das Geld erstmal funktioniert dann müsste das vielleicht etwas einfacher gehen...
EDIT//
Das mit der eigenen Routine ist ganz simpel. Du kopierst den Inhalt der Subroutine an eine freie Stelle im Speicher. Dann änderst Du diesen Befehl...
[code=ASM]004101C2 |. E8 09A40500 |call 0046A5D0h[/code] dementsprechend um damit die Subroutine aufgerufen wird die Du grade kopiert hast. Wenn Du also den Inhalt der Routine z.B. an Adresse 0x400400h kopiert hast änderst Du den Befehl von "call 0046A5D0h" zu "call 00400400h". Dann kannst Du innerhalb dieser Routine, die an Adresse 0x400400h beginnt deine CI machen wie Du es beschrieben hast.
Ich hab mich aber jetzt für eine andere Möglichkeit entschieden die meines Erachtens auch eleganter und einfacher ist. Diese erfordert zwar zwei Codecaves, aber dennoch können auch andere Optionen berücksichtigt werden.
Diese Lösung könnte ich hier mal posten und entsprechend dazu erklären. So ist es für dich sicherlich einfacher und verständlicher.
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...