Zum Inhalt springen

UDPIH

Entwickler
GaryOderNichts
Webseite
Lizenz

UDPIH ist ein Exploit für die Wii U, welcher ein Versäumnis beim Parsen der USB-Deskriptoren ausnutzt, um unsignierten Code kurz nach dem Starten der Konsole auszuführen. In Verbindung mit dem Wii U Recovery Menu ideal zum Unbricking von bspw. Coldboot-Haxchi-Bricks!

Erklärung

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.

Verwendung

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, Pico 2 und der Raspberry Pi Zero, die alle 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. Das Steam Deck funktioniert auch, benötigt aber noch ein paar zusätzliche Schritte. Eine hackbare Nintendo Switch funktioniert ebenfalls. Auf ESP32 S2 und S3 basierende Boards werden auch unterstützt.

Anschließend muss das Recovery Menu auf die SD-Karte der Wii U platziert und beim Start der Konsole (beim "Wii U" Logo) das USB-Gerät (Pi, Switch, …) eingesteckt werden.

Hinweise

  • Kein anderes USB-Gerät darf verbunden sein
  • Verwende nur die vorderen USB-Ports
  • Falls der Standby-Modus aktiviert ist, ziehe vorher den Stecker und stecke die Wii U erneut an
Abonnieren
Benachrichtige mich bei
guest
10 Kommentare
Neueste
Älteste Am besten bewertet
★αιεχ★

Mal eine ganz bescheidene Frage. Wäre technisch gesehen möglich, einen Raspberry Pi Pico mit USB C Anschluss zu nutzen? Wäre ja eigentlich der Gleiche wie der normale Pico. Oder ist dem nicht so?

★αιεχ★

Kannst den Beitrag ja löschen. Aber hier mal ein Link

https://www.ebay.de/itm/227115189018

★αιεχ★

Ich bin da nämlich noch ein bisschen am strugglen. Vom rein technischen her, sieht der exakt aus wie der Pico mit Micro USB. Hätte jetzt auch kein Problem damit, den regulären zu kaufen.

ErdbeerbaerLP

In sachen Wii U passiert wieder mal was.
Ich weiß, dass es dafür wahrscheinlich noch keinen Artikel geben wird, dennoch dachte ich mir, dass es interessant sein könnte für die Experimentierfreudigeren.

Mittlerweile kann mithilfe von ISFShax auch der boot1 der Wii U exploited werden. Man könnte sagen, dass ISFShax der "Priiloader für die Wii U" ist. Es bietet etwas besseren brick-schutz, ermöglicht größeren MLC, kann sowohl Normal als auch im redNAND betrieben werden und kann über gängige methoden installiert werden (Via Tiramisu, Browser exploit oder UDPIH).
Allerdings gibt es natürlich auch das brickrisiko beim installieren, und es unterstützt den Standby-Modus / das Schnellstart menü nicht.

Ich bin da soeben drauf gestoßen und werde es heute abend mal auch selber ausprobieren.

Link zum thread: https://gbatemp.net/threads/how-to-set-up-isfshax.642258/

ErdbeerbaerLP

Ja, eher BootMii, hab die beiden verwechselt.

Installation war erfolgreich. Bin zwar jetzt noch am schauen, wie ich das mache mit redNAND, aber normal kann ich damit schon aroma booten. Die autoboot config von minute hab ich noch nicht gesetzt, aber das sollte auch kein problem sein.
Für redNAND interessierte noch: Die SD Karte muss hiermit nocheinmal neu partitioniert werden, wobei alle daten darauf verloren gehen. Mal schauen, ob ich das noch zum laufen bekomme samt OTP-Redirection (wo noch nirgens was zu steht bisher)

Gute Besserung

customswitch

Geht das auch mit dem digispark attiny85 Board?