Guten Abend, ich möchte einen Trainer für ein Spiel schreiben. Ich weiß, wie ich die Werte im RAM verändere und wie ich sie lese. Das Problem ist, dass ich nicht weiß, wie ich herausbekomme, an welcher Stelle die Variable liegt, die ich verändern möchte. Wie bekomme ich raus, an welcher Position sich die Variable für z.B. das Nitro in NFS befindet? Vielen Dank im Voraus
Brute Force? Sich das Programm im Hexeditor angucken und gucken ob man was raus finden kann dort?
Hexdump machen. Einenwert im Spiel veraendern. Neuen Hexdump machen - vergleichen mit erstem Hexdump. citb
Kilpikonna schrieb: > Cheaten bzw. Betürgen nennt sich sowas. Stört im Singleplayer genau wen? Haben doch eh alle Spiele schon fest mit eingebaut, und das seit Jahrzehnten... Zum Lernen halte ich sowas für ne tolle Sache, ist mal was anderes als die üblichen Neuauflagen von GameOfLife, Bubblefish, Snake etc... citbschrieb schrieb: >Hexdump machen. >Einenwert im Spiel veraendern. >Neuen Hexdump machen - vergleichen mit erstem Hexdump. Aber die Position muss ja nicht immer die gleiche (zwischen verschiedenen "Spiel-Sitzungen". Außerdem ändern sich in Spiele wohl mehrere Werte selbstständig, und das sehr oft, wie also den richtigen finden?
Masl schrieb: > Aber die Position muss ja nicht immer die gleiche (zwischen > verschiedenen "Spiel-Sitzungen". Sehr wahrscheinlich sind sie es aber. Das ist auch für die Entwickler das allereinfachste, wenn Variablen statisch im Speicher liegen und nicht dynamisch allokiert werden müssen. Wenn die Entwickler eine neue Version rausbringen, kann es sein, dass sich die Position verändert. Aber in ein und derselben Programmversion werden die Dinge höchst wahrscheinlich immer an derselben Stelle sitzen. > Außerdem ändern sich in Spiele wohl > mehrere Werte selbstständig, und das sehr oft, wie also den richtigen > finden? 3 Dinge braucht der Mensch, der so etwas macht * Geduld * Geduld * und noch mal Geduld. und natürlich einen guten Hex-Editor, der ihn dabei unterstützt die Unterschiede in den Hex-Dumps zu finden. Der Rest ist dann Intuition und Raten. Sorry: Aber du hast dir selbst diese Aufgabenstellung gewählt. Stell dich darauf ein, dass du die nächsten Tage nur Hex-Dumps studieren wirst und viele Versuche machen musst, bist du rauskriegst welche Speicherzellen sich sowieso immer verändern und welche du durch deine Spielaktion verändert hast.
Karl Heinz Buchegger schrieb: > Sorry: Aber du hast dir selbst diese Aufgabenstellung gewählt. Nein habe ich nicht, der TE ist immer noch R.H., aber mich hat das Theman einfach interessiert :-) Ansonsten klingt deine Ausführung logisch!
> Zum Lernen halte ich sowas für ne tolle Sache
Zum (Programmieren) Lernen ist das bescheuert. Ein anderes Programm
Reverse Engineeren, mit nichts anderem als ein paar Hex-Dumps, gehört
wohl mit zu den schwierigsten Dingen, die man sich vorstellen kann.
also ich hatte mal ein tool, dass das fast selbstständig macht. man gab den zu suchenen wert an. klick auf button, er las speicher aus. man änderte im spiel den Wert. man gab den zu suchenen wert an. klick auf button, er las speicher aus und vergleichte. nach wenigen Iterationen hat er die Stelle gefunden. alternativ zum wert eingeben konnte man auch nach stellen suchen, die größer oder kleiner geworden sind, falls der wert nicht im spiel nicht numerisch angezeigt wird. Ich glaub das tool konnte dann aus dem ergebnissen auch trainer erstellen. An sich ist das ja alles kein hexenwerk. Das schwierigste dürfte unter heutigen OSen sein, dass man auf den Prozesspeicher zugreifen darf.
> man gab den zu suchenen wert an. > klick auf button, er las speicher aus. > man änderte im spiel den Wert. > man gab den zu suchenen wert an. > klick auf button, er las speicher aus und vergleichte. sowas in der Art? http://www.cheatengine.org/index.php
Karl Heinz Buchegger schrieb: >> Zum Lernen halte ich sowas für ne tolle Sache > > Zum (Programmieren) Lernen ist das bescheuert. Ein anderes Programm > Reverse Engineeren, mit nichts anderem als ein paar Hex-Dumps, gehört > wohl mit zu den schwierigsten Dingen, die man sich vorstellen kann. Karl Heinz, du bist zu optimistisch. Der Gute will nicht programmieren lernen, sondern das Spiel trainieren. :-)
> Das klingt nach Game Wizard
Stimmt da werden Erinnerungen wach !
Aber ob der noch unter Win7 funzt ?
Danke erstmal für die vielen Antworten. Ich muss mich mit diesem Debuggen erstmal auseinandersetzen. Dann wird das bestimmt. Zumindest im Prinzip habe ichs begriifen ;)
Mich würde mal brennend interessieren, welche Datei man dann im "Hex-Editor" öffnet bzw. wie man mit einem solchen HexEditor auf den RAM zugreifen kann, um deren Speicher auszulesen?! Gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.