Leak bei BroadOn: Source-Code für IOS, Datasheets, interne Dokumente und mehr veröffentlicht

Am 1. Mai veröffentlichte ein User auf 4chans /vp/-Board einen Link mit rund drei Gigabyte an geleaktem Material von BroadOn, der Firma hinter dem "Betriebssystem" IOS der Wii, dem GameCube und dem iQue Player. Enthalten sind u.a. ein Teil des Quellcodes von IOS, mehrere Datasheets und Blockdiagramme, sowie interne Dokumente und Präsentationen. Es ist unklar, ob es sich um einen (Ex-)Mitarbeiter bei BroadOn handelt oder um einen Einbruch.

BroadOn hat sich 2011 mit Acer zusammengetan und firmiert seitdem unter "Acer Cloud Technology". 2002 arbeiteten sie unter dem Namen "RouteFree" erstmals mit Nintendo zusammen am iQue Player SDK und den eCommerce-Services. Schon im April 2018 wurde das iQue Player SDK und ROMs unerlaubt veröffentlicht.

Eine Präsentation von 2004 von BroadOn für Nintendo

Später entwickelte BroadOn IOS, das "Betriebssystem" der Wii und begann mit dem Trucha Bug einen folgenschweren Fehler.

Die Arbeiten an den digitalen iQue-Services hatte sich bezahlt gemacht, da die Entwickler auf viel Know-How bei der Entwicklung des Wii-Shop-Kanals zurückgreifen konnten, wie es auch in den internen Präsentationen erwähnt wird.

IOS

In den Dateien befindet sich ebenfalls ein Teil des Quellcodes von IOS, dem Betriebssystem der Wii. Die Dateien reichen von 2004 bis ca. Ende 2008 zurück, als das Wii-Menü 4.0 noch im Planung war. Es sind aber auch Commits von 2011 sichtbar, wie z.B. Anpassungen für die Wii Family Edition.

Enthalten sind auch ein paar Release-Notes, mit denen sich nachvollziehen lässt, was wann in welchem IOS geändert wurde – diese Dateien scheinen aber unvollständig zu sein. Zumindest die Behebung des Trucha Bug ("RSA signing verification") wird erwähnt und passt zeitlich ebenfalls.

Fix des Trucha Bugs in älteren IOS vom 19. Februar 2008

Die Dokumente und Präsentation geben tiefe Einblicke in die Wii – u.a. werden der Bootvorgang und der Update-Vorgang detailliert beschrieben und interessanterweise befindet sich dort auch ein Dokument, in dem steht, dass noch abgestimmt werden muss, ob die Wii automatisch updaten soll – damals ein beliebtes Gerücht. Nebenbei befinden sich in dem Leak noch zahlreiche Paper zum Thema Computer-Sicherheit und Kryptographie – böse Zungen würden behaupten, BroadOn hätte diese auch mal lesen sollen.

Ob es sich um den kompletten Quellcode handelt ist unklar – nach eigenen Recherchen können wir zumindest sagen, dass einige Teile (wie bspw. FS und ES) leer sind. Der Code für boot0, boot1 und boot2 ist aber vollständig und gut kommentiert. Dort befindet sich auch ein Programm, welches mutmaßlich zum Booten von einer SD-Karte verwendet werden kann und welches sogar WADs installieren und den boot1 flashen kann.

Mehr interessantes:

  • HW_AHBPROT heißt intern "ACRBUSPROT". Auch existieren "AIPPROT", "AIPIOCTRL", "ACRSRNPROT" und "ACRSRNPROT"
  • Stub-IOS wurden u.a. dazu verwendet, NAND-Speicherplatz zurückzugewinnen
  • Es gibt zahlreiche LED-Patterns und diese stammen direkt von Nintendo und nicht von BroadOn
  • In einem Dokument ist auch von einem Touchpad-Controller die Rede, der folgen sollte
  • Darüber wird auch ein "GC Type Controller attachment" erwähnt, welcher allerdings wohl der Classic Controller sein soll. ZR und ZL waren dort aber noch als "Z" und Z2″ bekannt.
  • Der Shop-Kanal erhielt erst auf Nachfrage von Nintendo Zugriff auf den Content 0 jedes Titels um das Banner anzuzeigen, weshalb die IDs hardcodiert sind
  • Ein WPAD-SDK von 2005 (die Bibliothek zum Steuern per Wiimote) ist auch vorhanden
Architektur der Wii
Architektur der Wii (IOP = I/O-Prozessor)

GameCube

Für den GameCube sind auch etliche Dokumente enthalten. So können dort Datasheets und Blockdiagramme zu allen Hardware-Komponenten des GameCube gefunden werden.

Anhang zum Gekko Datasheet, der CPU des GameCube

Alles in allem sehr viele hochtechnische Dokumente.

iQue

Wenig überraschend sind auch BroadOns (damals "RouteFree") Dateien zum iQue Player vorhanden – ebenfalls wieder Code, Präsentationen und Dokumente. So hat man bspw. evaluiert, welche Titel in China released werden soll, indem u.a. die Verkaufszahlen aufgelistet wurden.

Lokalisierungsprozess von Nintendo-Spielen für den iQue

Hauptsächlich geht es um eine sogenannte "Breakout Box" und der Client-Server-Architektur zum Herunterladen von Spielen. Natürlich dürfen auch Dokumente zum Ultra 64 nicht fehlen – der Codename des Nintendo 64.

Ultra 64 ist der Codename des Nintendo 64

Was bedeutet das jetzt?

Im Grunde genommen: Gar nichts – es bietet lediglich interessante Einblicke in die Entwicklung der Konsolen. Emulator- und Homebrew-Entwickler dürfen diesen Code theoretisch nicht mal ansehen, da sie sonst eine Klage riskieren könnten. Ergo wird dies nicht zu Verbesserungen für Emulatoren führenzumindest nicht offiziell. Sicherlich werden damit auch sehr akkurate, unautorisierte Klon-Systeme möglich sein. Es wird auch nicht zu Switch-Hacks o.ä. führen, da die Software mittlerweile von Nintendo selbst kommt und nicht mehr von BroadOn. Die Betriebssysteme haben überhaupt nichts miteinander zu tun.

Dies ist ein weiterer in einer Reihe von Nintendo-bezogenen Leaks. Schon vorher wurden einige Betas zu früheren Pokémon-Spielen unerlaubt veröffentlicht.

Dieser Beitrag behandelt natürlich nur einen Bruchteil dessen, was dort vorhanden ist – aber die Recherche nimmt zu viel Zeit in Anspruch.