Gameboy Advance: Spielmodule lassen sich über Audioausgabe auslesen

Abstürze provozieren beim Gameboy Advance seltsames Verhalten. Darüber lassen sich Module auslesen, was interessante Einblicke ermöglicht.

Artikel veröffentlicht am ,
Stürzt ein Spiel auf dem Gameboy Advance ab, gibt das Sound-Modul den Inhalt des Spielmoduls aus.
Stürzt ein Spiel auf dem Gameboy Advance ab, gibt das Sound-Modul den Inhalt des Spielmoduls aus. (Bild: Evan-Amos, Wikimedia Commons/CC0 1.0)

Stürzt ein Spiel auf dem Gameboy Advance ab, gibt das Gerät weiter Töne von sich. Sie klingen stark, als würden Binärdaten wiedergegeben. Das brachte den Bastler TheZZAZZGlitch auf die Idee, dass hier der Inhalt des ROMs (Read Only Memory) des Spielemoduls wiedergegeben wird (via Ars Technica). Also nahm er, wie er in einem Video bei Youtube beschreibt, die Ausgabe auf und untersuchte sie.

Tatsächlich werden nach etwa einer Stunde und 50 Minuten die auf dem Spielmodul gespeicherten Audio-Samples wiedergegeben. Also versuchte der Bastler, aus den aufgenommenen Daten den Inhalt des Moduls wiederherzustellen. Dafür entwickelte er ein Python-Script. Bereits im ersten Anlauf stimmten die wiederhergestellten Daten zu 99,76 Prozent mit dem Original überein – der Bastler verglich mit dem ROM, das er für den Test in einem Emulator gestartet hatte.

Als problematisch erwiesen sich allerdings lange Folgen von Null-Bytes, die zu Fehlzuordnungen führten. Hier trickste der Bastler dann etwas, indem er mit dem Original-ROM verglich, die Adressen der entsprechenden Blöcke bestimmte und sie in seiner Ausgabe entsprechend anpasste. Für eine exakte Rekonstruktion wertete er zudem sieben einzelne Aufnahmen aus, für jedes Byte wählt sein Script den am häufigsten vorkommenden Wert (Majority Vote).

Gefälschtes Modul mit überraschendem Aufbau

Der Ansatz funktioniert aber nicht nur mit einem Emulator. Für einen praktischen Test mit realer Hardware nutzte TheZZAZZGlitch ein gefälschtes Spielemodul. Dabei stellte er fest, dass selbst mit einer Reihe von Optimierungen und 45 ausgewerteten Aufnahmen der Code des Moduls nicht dem eines Originalmoduls entsprach.

Also sah er sich die Unterschiede an und stellte fest, dass der Code des Spiels modifiziert wurde. Denn bei der Hardware des Moduls wurde gespart: Während das Original neben einem ROM- auch einen Flash-Chip zum Ablegen von Speicherständen enthält, liegt beim Klon beides zusammen in einem Flash-Speicher. Damit das funktioniert, wurde der Originalcode so modifiziert, dass er eine Routine zum Schreiben des Spielstands in den RAM des Gameboys kopiert und von dort startet. Das vermeidet Zugriffskonflikte, zu denen es unweigerlich käme, wenn der Prozessor während des Schreibprozesses versucht, Befehle vom Modul zu lesen.

Auch eine Nachricht, die auf eine leere Backup-Batterie für die Echtzeituhr hinweist, wurde modifiziert. Denn die Batterie wurde beim gefälschten Modul ebenfalls eingespart.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Return to Office
Dell soll Homeoffice-Arbeiter systematisch benachteiligen

Die Umsetzung der teilweisen Büropflicht bei Dell sorgt für Unmut unter Beschäftigten.

Return to Office: Dell soll Homeoffice-Arbeiter systematisch benachteiligen
Artikel
  1. Konzernchef Källenius: Mercedes-Benz verfehlt Elektroziele und steuert um
    Konzernchef Källenius
    Mercedes-Benz verfehlt Elektroziele und steuert um

    Mercedes-Benz hat seine Elektroziele für 2023 verfehlt. Statt der anvisierten 20 Prozent lag der Elektroanteil beim Absatz nur bei 12 Prozent.

  2. Zu ambitioniert?: Intel-CPUs verursachen Abstürze in Spielen
    Zu ambitioniert?
    Intel-CPUs verursachen Abstürze in Spielen

    Ursächlich sind offenbar die Voreinstellungen im BIOS der meisten Mainboards. Der Fehler lässt sich allerdings recht einfach beheben.

  3. Medizin: ADHS hatte für unsere Vorfahren Vorteile
    Medizin
    ADHS hatte für unsere Vorfahren Vorteile

    Die neurologische Entwicklungsstörung ADHS soll einen evolutionären Vorteil bei der Nahrungssuche dargestellt haben. Ein Experiment mit einem Computerspiel lieferte die Hinweise.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • HP Omen 27" QHD 240Hz 379€ • PS5 Slim mit 2 Controller 479€ • MindStar: PNY RTX 4070 Super 619€, MSI RTX 4090 Gaming 1.839€ • FF7 Rebirth PS5 mit Gratis-Zugaben 69,99€ • Roccat -58% • Neu: Sony Pulse Elite Headset 134,99€ • EA-Spiele -74% • PCGH Cyber Week [Werbung]
    •  /