Trainer programmieren

#2527967
Lesenswert?

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
Gast #2528584
Lesenswert?

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?
#2528601
Lesenswert?

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.
#2528822
Lesenswert?

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.
#2529027
Lesenswert?

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.
:-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren