Home of Gamehacking - Archiv
Minecraft - Druckversion

+- Home of Gamehacking - Archiv (http://archiv-homeofgamehacking.de)
+-- Forum: Gamehacking (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=3)
+--- Forum: Gamehacking (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=6)
+--- Thema: Minecraft (/showthread.php?tid=252)



Minecraft - Bluespide - 25.02.2011

Hi,
ich habe in dem Spiel Minecraft mal nach der Adresse der Leben gesucht. Es ist ein Byte von Min:0 bis Max:20 und ich komme auf folgenden opcode: mov [ecx+ebx]eax .Ich dachte ich könnte den Code einfach änder in mov [ecx+ebx],00000014 um da ständig 20 rein zu schreiben. Aber wenn ich das mache, dann schließt sich das Spiel sofort. Liegt das an Java, ist das eine Schutzfunktion oder ist einfach der Code falsch?Huh


RE: Minecraft - Acubra - 25.02.2011

Hey,
wahrscheinlich wird der Befehl auch noch auf andere Adressen, ausser der Healthadresse zugreifen. Deswegen crasht das Spiel auch, wenn du da rumpatchst.
Es ist aber auch möglich das gecheckt wird ob der Code verändert wurde. Dann musst du die Routine ausfindig machen, welche prüft ob der Code geändert wurde.


RE: Minecraft - DNA - 25.02.2011

Wie Acubra schon sagt, durchlaufen auch andere Adressen diese Register.
Aber selbst, wenn das nicht der Fall wäre, hättest du ein kleines Problem.

Java stellt virtuellen Speicher für das Spiel bereit und in diesen virtuellen Speicher
werden die "opcodes" geschrieben ...
das heißt also, dass beim nächsten Spielstart der "Trainer" nicht mehr funktionieren
würde.
Leider kannst du dann auch nicht nach einem "Modul" suchen und die adresse
berechnen, da es wie gesagt kein Modul gibt.

Man könnte hier sicherlich irgendwie mit Olly und Co irgendwas bewergstelligen,
allerdings weiß ich nicht, wie man in so einem Fall vorgeht.

Desweiteren wäre da noch die Möglichkeit mit einer
"Bytesignatur Suche".
Dabei suchst du, wie auch bei dem XLive Tut von Acubra, nach einer
Bytesequenz die sich in dem virtuellen Speicher befindet und berechnest
von dort die Offsets zum richtigen OPcode.

Und wenn du soweit bist, dann kannste dich nochmal melden, denn dann
musst du gegebenfalls die Bytes für den jmp zum CodeCave berechnen.

Ich hoffe das war ausführlich genug Wink