[Tiptoi-hw] Halb-automatisiert Spiele-Binaries ersetzen

Joachim Breitner mail at joachim-breitner.de
Mi Jan 13 10:11:00 CET 2021


Hi,

Am Dienstag, den 12.01.2021, 22:19 +0100 schrieb Matthias Weber:
> Hallo zusammen!
> 
> Ich habe gerade die Schritte in der Anleitung (und im Code) unter
> folgender Seite angepasst:
> 
> https://github.com/maehw/snowbirdopter/tree/master/examples/dump_regs_inside_gme
> 
> Damit muss man jetzt nur noch den Inhalt in `gme_name` anpassen und ein
> paar Batch-Skripte ausführen. Alle relevanten Binaries werden extrahiert
> und disassembliert. Den umgekehrten Weg gibt es auch.
> 
> Dazwischen kann man die Binaries den eigenen Wünschen entsprechend
> anpassen - und da brauchen wir denke ich noch den Support, um zu
> verstehen, was darin genau passiert (wie kürzlich auf der anderen Liste).

nett! Komfortabler als das Skript was ich bisher genutzt habe:

https://github.com/nomeata/tiptoi-arm-investigation/blob/main/Weltatlas/test.sh

Woran ich zuletzt gearbeitet habe:

Die Ausgabe von 
$ arm-linux-gnueabi-objdump --architecture=arm -b binary -D
kann man ja leider nicht direkt wieder assemblieren.

Für Europa.gme hab ich das von Hand korrigiert, und sowas hier
geschrieben:
https://github.com/nomeata/tiptoi-arm-investigation/blob/main/Europa/OidMain.txt
Das kann man jetzt wieder assemblieren und bekommt eine identische
Datei, und kann man jetzt ändern.

Ich wollte das jetzt automatisieren, und hab
https://github.com/nomeata/tiptoi-arm-investigation/blob/main/Weltatlas/disassemble.pl
geschrieben, was die Ausgabe von arm-linux-gnueabi-objdump “aufräumt”. 
Ist aber noch nicht fertig, und manuell Nacharbeitn wird nötig sein.


Interessant ist dass die Weltatlas-GMEs allerlei Strings enthalten.
Viele davon, wenn man danach Googelt, kommen auch in ganz anderen
Kontexten vor (Gameboy-Advance-Spiele), aber alles ARM. Sagt vermutlich
was über den verwendeten Compiler oder C-Library aus.

Auch interessant (und nervig beim dekompilieren) ist dass das
Weltatlas-Binary mal vom ARM-Modus in den Thumb-Modus (anderer
Instruction-Set) wechselt.


Cheers,
Joachim



-- 
Joachim Breitner
  mail at joachim-breitner.de
  http://www.joachim-breitner.de/







Mehr Informationen über die Mailingliste tiptoi-hw