Zum Inhalt springen

UDPIH: Wii U USB-Host-Stack Exploit kann u.a. Coldboot-Haxchi-Bricks fixen

Wii U, Wii U: Neu , , ,

GaryOderNichts hat einen neuen Exploit für die Wii U veröffentlicht, der ein Versäumnis im USB-Host-Stack der Konsole ausnutzt, um Code sehr früh beim Boot auszuführen – damit lassen sich in Verbindung mit dem ebenfalls veröffentlichten Recovery Menu u.a. Coldboot-Haxchi-Bricks fixen!

UDPIH

Nutzt ein Versäumnis beim Parsen der USB-Deskriptoren aus, um Code kurz nach dem Start der Konsole auszuführen. In Verbindung mit dem Wii U Recovery Menu ideal zum Unbricking von bspw. Coldboot-Haxchi-Bricks! Raspberry Pi Pico, Zero oder eine hackbare Nintendo Switch benötigt!

Wii U Recovery Menu

Mit dem Wii U Recovery Menu lassen sich u.a. Bricks reparieren, die durch den unsachgemäßen Umgang mit Coldboot Haxchi entstanden sind. Muss über UDPIH gebootet werden!

Konkret handelt es sich dabei um ein Versäumnis beim Parsen der USB-Deskriptoren. Mit diesen Deskriptoren stellen USB-Geräte verschiedene Informationen über sich selbst bereit – bspw. die USB-Version, die Hersteller- und Produkt-ID, usw. Zuerst werden beim Start die Geräte-Deskriptoren vom USB-Host-Stack gelesen; anschließend folgen die Konfigurations-Deskriptoren. Diese Deskriptoren haben keine feste Größe, sondern lege diese selbst in einem vorgegebenen Feld fest. Zudem müssen einige Felder zusätzlich byte-geswapped werden, da diese nur in Little Endian vorliegen, aber in Big Endian benötigt werden.

Nintendo hat es versäumt, zu prüfen, ob die angegebene Größe der tatsächlichen Größe entspricht, was einen "out-of-bounds" Byteswap ermöglicht. Der Blogbeitrag von GaryOderNichts geht tiefer ins Detail.

Um den Bug auszunutzen, muss man also ein Gerät besitzen, welches USB-Geräte und somit beliebige USB-Deskriptoren emulieren kann. Die populärsten sind zweifelsohne der Raspberry Pi Pico und der Raspberry Pi Zero, die beide sehr günstig zu haben sind. Eine genaue Anleitung stellt GaryOderNichts auf GitHub zur Verfügung – kurz gesagt muss der Pi Pico geflashed und beim Pi Zero ein Kernel-Modul integriert werden. Anschließend muss das Recovery Menu auf die SD-Karte der Wii U platziert und beim Start der Konsole (beim "Wii U" Logo) der Pi eingesteckt werden.

Im Recovery Menu lässt sich u.a. der Coldboot-Titel wieder auf das Wii-U-Menü zurücksetzen, OTP + SEEPROM dumpen, die PIN des GamePads anzeigen uvm.

Das dürfte wieder Leben in etliche Wii Us einhauchen, die durch den unsachgemäßen Umgang mit Coldboot Haxchi gebrickt wurden!