Wie funktionieren hex editoren verändert man werte

Habe mir auch schon 1-2 Tutorials durchgelesen. Aber bislang nur kapiert: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 heißen im Hex-System 1 2 3 4 5 6 7 8 9 A B C D E F G H oder so ähnlich. Dann hat jemand ein Beispiel genannt. Waffe XY 3-13 Schaden 1 Reichweite soll auf Hex 03 00 0D 00 01 00 01 00 heißen. Okay. Das D steht für die 13, die 3 für die 3 Schaden. Die 2 Einsen werden wohl für die Reichweite stehen. 1. Frage: Warum gibt es 2 Einsen? 2. Frage: Wie koennte man jetzt mit einem Hex-Editor den Schaden verzehnfachen bspweise)) Anmerkung: Das Spiel heißt Spellforce

7 Antworten zur Frage

Bewertung: 3 von 10 mit 1566 Stimmen

Videos zum Thema
YouTube Videos

Wie funktionieren Hex-Editoren? Bzw wie verändert man dort Werte?

Nun ja, man muss vorab schon wissen welche Datei man verändert und welche Wertänderung was bringt.
Im Spiel oder der Datei kann ja dieser Wert festgelegt oder gespeichert sein. Ändert man diesen eben dann wird dieser "falsche" Wert abgefragt und das Spiel "denkt" es passt.
Je nach Spiel ist es schon Arbeit.
Es gibt ja auch diese CheatMaker und Co. Dort werden ja auch Unterschiede erkannt. Danach kann man es eben im HexEditor "auch" patchen oder ändern wenn man möchte.
Ich habe einmal Moohrhuhn, ChickenAttack, HühnerRache und diese kleinen Spiele gepatcht. Auch große aber als Beispiel reicht es ja.
Zum Beispiel gibt es im Programmcode einen deutlichen Hinweis bzw. Ascii "LEBEN" oder so. Nun ja, schaust du dann im Code genauer hin siehst du den Sprung! Na ja, in ASM ist es ja 75, 74 usw.
Das weiß man eben mit der Zeit.
Dann schaust du eben nach der Adresse bzw. im Hexeditor und kannst den Wert dann entsprechend ändern.
Hört sich jetzt kompliziert an bzw. dies ist es auch wenn man wenig Ahnung hat aber es geht.
Ich würde es noch einfacher machen:
Man sollte ja vorher so oder so im Debugger oder Disassembler schauen was passiert wenn man agiert usw. Der CheatMaker macht es ja auch so in der Art.
Na ja, dann schaust du eben wo etwas passiert und kannst es entsprechend abändern.
Beispiel: Man spielt mit den Ball und wenn dieser über die Linie gerät dann wird ein Lebenspunkt abgezogen. Durch die Analyse habe ich nun den Sprung gefunden. Springt dieser eben nicht dann wird ein CALL aufgerufen und entsprechend ein Leben abgezogen.
Erzwinge ich nun den Sprung durch JMP bei Adresse 00403935 dann kann ich so oft spielen wie ich möchte ohne Leben zu verlieren.
So kann man auch cheaten. Dies kann ich jetzt ändern und abspeichern.
Nun ja, im HexEditor wäre dies bei Offset 14646:
Nun ändere ich halt die 74 in EB und habe "gecheatet".
Welche Datei ich ändern muss, weiß ich glücklicherweise.
Wie die Suche funktioniert auch.
Nur das umrechnen von Dezimal zu Hexadezimal & das Ersetzen ist irgendwie. schwer.
Na ja, du musst ja nicht immer umrechnen. Gut, dafür gibt es ja Programme.
Wenn du lange damit arbeitest dann kannst du dir selbst im Hexeditor den ASM-Code und Co. erstellen.
Ich bin jetzt schon soweit dass ich diverse HEX-WERTE im Kopf erkenne und den passenden ASM-CODE verstehe. Also ich meine, man erkennt es dann eben schon mit der Zeit im KOPF.