Drücke "Enter", um den Text zu überspringen.

RaceDriver 3 Bonus Codes aktivieren

In DTM / ToCa RaceDriver 3, einem Rennspiel, das ich damals geliebt habe, gab es die Möglichkeit auf der Webseite Bonuscodes zu kaufen um zusätzliche Inhalte freizuschalten.
Da ich das Spiel kürzlich wieder ausgrub um es mit einem Freund im Multiplayer zu spielen, dachte ich es wäre ganz lustig die Bonusinhalte zu spielen.
Nun findet man zwar einen haufen Bonuscodes im Internetz, diese sind allerdings vollkommen nutzlos da das Spiel bei erstmaligem Start eine ID generiert, zu welcher die Bonuscodes passen müssen. Also baute ich einen kleinen Launcher bzw. Trainer, der das Spiel startet und durch Speichermanipulation alle codes aktiviert. Der Download befindet sich am Ende des Beitrags.

Wie ich mithilfe von CheatEngine und einem HexEditor die nötigen Adressen herausfand:

Als erstes starten wir das Spiel und erstellen einen neuen Spielstand. In CheatEngine öffnen wir den RD3 Prozess und suchen den in den Spieloptionen angezeigten Zugangscode:

Daraufhin finden wir eine statische und einige dynamische Speicheradressen.
Nun löschen wir unseren Spielstand, starten das Spiel erneut, legen einen neuen Spielstand an, öffnen in CE wieder den RD3 Prozess und vergleichen unseren neuen Zugangscode mit den vorher gefundenen Adressen:

Juhu, die statische Adresse ist anscheinend schon unser Ziel! Mit Doppelklick merken wir uns diese Adresse in der unteren Spalte, wo wir ebenfalls mit Doppelklick ihren Wert verändern.
Nun suchen wir uns im Internetz einen Zugangscode, zusammen mit ein paar zugehörigen Bonuscodes. Ich nahm die 1027.
Dazu fand ich die Bonuscodes R4XM651GCWVJJ, GP7AYU2VPK311 und Q5QC6HTKTWP1B.

Nun geben wir einen der Bonuscodes ein und freuen uns, dass das Spiel den Code akzeptiert:

Beim verlassen des Optionmenüs stellen wir fest, dass das Spiel abspeichert.
Uns interessiert natürlich brennend was es da speichert und ob uns das weiterhilft.
Also erstellen wir einen neuen Spielstand, legen zum Vergleich eine Kopie von diesem an und öffnen beide Dateien in einem Hexeditor. Nun geben wir wieder den Code ein und verlassen das Menü damit das Spiel speichert und wir im HexEditor sehen wie das den Spielstand beinflusst.
Wir sehen, dass sich ein paar Werte ganz oben im Kopf der Datei verändern und einer weiter unten bei 0x214:

Um sicherzugehen geben wir nun einen weiteren Code ein und lassen das Spiel wieder speichern. Der Wert bei 0x214 wird um ein weiteres Bit bereichert:

Nun suchen wir diesen Hexwert in CheatEngine. Zu beachten ist, dass wir bei der Suche Hex aktivieren und die Bytereihenfolge vermutlich umdrehen müssen, da x86 Binärdaten LittleEndian sind, CheatEngine diese aber wie üblich in BigEndian darstellt.
(Bei Interesse mehr dazu hier bei Wikipedia)

Da wir nun eine ganze Menge finden, geben wir den dritten Code ein, lassen das Spiel speichern und vergleichen den Wert in unserem Spielstand mit den Funden mit CheatEngine:

Schon zeigt sich die gewüschte Adresse, die zum Glück wieder statisch ist (was bedeutet, dass sie sich bei einem erneuten Spielstart nicht verändert).
Nun ändern wir den Wert einfach mal zu 0xFFFFFFFF um alle Bits zu aktivieren und siehe da, wir haben alle Bonuscodes:

Dabei bemerken wir, dass das Spiel nur 0xFFFF im Spielstand ablegt. Der Wert ist also wohl nur 2byte Groß aber das ist in diesem Fall nicht weiter relevant.
Das wars auch schon. In CheatEngine haben wir nun die benötigten Speicheradressen.

Anschließend habe ich in AutoIt ein kleines Script geschrieben, welches das Spiel startet (sofern es nicht bereits läuft), alle 5 Sekunden überprüft ob die beiden Speicherstellen den gewünschten Inhalt haben und falls nicht diesen ändert. Wenn das Spiel geschlossen wird, beendet sich auch das Script.

Hier ist der Sourcecode und eine kompilierte Exe, die sich ohne zusätzliche Software überall ausführen lassen sollte:
Download

Mit enthalten ist ein kleines Script namens RD3Reg, welches dazu dient alle Registry Einträge anzulegen die das Spiel benötigt.
Dadurch erspart man sich lästige Neuinstallationen und kann das Spielverzeichnis einfach auf andere Computer kopieren.
War sehr nützlich um RD3Code schnell auf mehreren Geräten zu testen. :)

Ich hoffe, dass irgendjemand etwas mit dem Script oder der Anleitung anfangen kann.

Gruß
Hummtaro

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert