🛠️ Game Boy Boot-ROM aus einem Chip-Foto rekonstruiert

Kann man funktionierende Software aus einem Foto eines Mikrochips rekonstruieren? Ja – zumindest unter den richtigen Voraussetzungen. Der Embedded-Systems-Reverse-Engineer Travis Goodspeed zeigt eindrucksvoll, wie sich die originale 256-Byte-Boot-ROM des Game Boy allein anhand von Mikroskopaufnahmen des Chips auslesen lässt.

Für die Rekonstruktion wurde der Chip des Game Boy zunächst geöffnet und die darin enthaltene Mask-ROM sichtbar gemacht. Anschließend wurden 22 Mikroskopaufnahmen bei 50-facher Vergrößerung zu einem Gesamtbild zusammengesetzt.

Darauf befinden sich insgesamt 2.048 einzelne ROM-Bits – genau die 256 Byte, aus denen die Boot-ROM besteht.


Aus einzelnen Bits wird wieder ein Programm

Mit dem von Goodspeed entwickelten Mask ROM Tool werden die einzelnen Speicherzellen auf dem Foto markiert und anschließend als 0 oder 1 interpretiert.

Da bei einer solchen optischen Analyse Erkennungsfehler auftreten können, unterstützt das Werkzeug auch bei der Überprüfung verdächtiger Stellen. Anschließend muss die tatsächliche logische Reihenfolge der Bits bestimmt werden.

Aus dem daraus entstandenen Binärdatenblock lässt sich schließlich der ursprüngliche Maschinencode disassemblieren und wieder als ROM-Datei exportieren.

Damit kann die rekonstruierte Boot-ROM anschließend beispielsweise in einem Emulator verwendet werden.


Der ungewöhnliche Kopierschutz des Game Boy

Besonders interessant ist dabei auch die Funktion der Game-Boy-Boot-ROM.

Beim Start liest der Game Boy das Nintendo-Logo aus dem eingelegten Modul und vergleicht es mit einer internen Kopie, die in der Boot-ROM gespeichert ist.

Stimmt das Logo nicht mit der internen Version überein, wird der Startvorgang abgebrochen.

Nintendo nutzte damit nicht nur eine technische Hürde: Da Spiele-Cartridges das Nintendo-Logo enthalten mussten, entstand gleichzeitig eine rechtliche Grundlage, gegen nicht lizenzierte Veröffentlichungen vorzugehen.


Vom Chip-Foto zum funktionierenden ROM

Das Projekt zeigt damit sehr anschaulich, wie Hardware-Forensik und Software-Reverse-Engineering miteinander verbunden werden können.

Aus einem mikroskopischen Foto werden zunächst einzelne Speicherzellen erkannt, anschließend die Bit-Reihenfolge rekonstruiert und daraus wieder ein tatsächlich ausführbares Programm erzeugt.

Die verwendeten Methoden stammen teilweise aus Goodspeeds Arbeiten zur Hardwareanalyse und werden auch in seinem Buch „Microcontroller Exploits“ behandelt. Dazu gehören unter anderem die Analyse geschützter Firmware, das chemische Freilegen von Chips sowie Methoden zur Untersuchung von Speicherstrukturen.

Besonders interessant für die Retro-Szene: Die benötigten Werkzeuge, die Aufnahme des Game-Boy-Chips und eine entsprechende Anleitung sind öffentlich verfügbar. Damit lässt sich die Rekonstruktion nachvollziehen, ohne selbst über ein professionelles Mikroskop- oder Chemielabor verfügen zu müssen.


Fazit

Was zunächst wie ein einfaches Foto eines alten Mikrochips aussieht, enthält im Fall einer Mask-ROM tatsächlich die physische Repräsentation des Programms. Mit genügend Detail, den richtigen Werkzeugen und einer sorgfältigen Analyse lässt sich daraus die ursprüngliche Software wiederherstellen.

Ein beeindruckendes Beispiel dafür, wie Retro-Hardware auch Jahrzehnte später noch direkt auf Chip-Ebene erforscht und erhalten werden kann.