Home Homebrew Rilasciato USB Descriptor Parsing Is Hard (UDPIH) v1

[Scena Wii U] Rilasciato USB Descriptor Parsing Is Hard (UDPIH) v1

106
0

Il developer GaryOderNichts ha pubblicato un nuovo exploit che sfrutterebbe una svista nello stack host USB della console Wii U per eseguire codice molto presto all’avvio.

L’exploit può essere utilizzato insieme al menu di ripristino anch’esso rilasciato per riparare i mattoni di Coldboot Haxchi o simili.

Requisiti

  • Una console Wii U.
  • Un Raspberry Pi Pico o Zero.

Nota: Potrebbe funzionare anche qualsiasi altro dispositivo Linux in grado di emulare un dispositivo USB. Le versioni predefinite sono disponibili solo per Pico e Zero. Verranno aggiunti altri dispositivi di seguito che sono confermati per funzionare.

In particolare, questa è un’omissione nell’analisi dei descrittori USB. Con questi descrittori, i dispositivi USB saranno in grado di fornire varie informazioni su se stessi, ad esempio la versione USB, il fornitore e l’ID prodotto.

Innanzitutto, i descrittori del dispositivo vengono letti dallo stack host USB all’avvio; quindi seguono i descrittori di configurazione. Questi descrittori non hanno una dimensione fissa, è comunque possibile impostarlo all’interno di un determinato campo.

Inoltre, alcuni campi devono anche essere scambiati in byte, poiché sono disponibili solo in Little Endian, ma sono obbligatori in Big Endian.

Nintendo non è riuscita a verificare che la dimensione pubblicizzata corrisponda alla dimensione effettiva, consentendo uno scambio di byte “fuori limite”. Il post sul blog di GaryOderNichts spiega l’exploit più nel dettaglio.

Per sfruttare il bug, è necessario disporre di un dispositivo in grado di emulare dispositivi USB e quindi qualsiasi descrittore USB. I più popolari sono senza dubbio il Raspberry Pi Pico e il Raspberry Pi Zero, entrambi molto convenienti.

In breve, il Raspberry Pi Pico deve essere aggiornato, mentre nel Raspberry Pi Zero bisogna andare ad integrare un modulo del kernel.

Il menu di ripristino deve quindi essere posizionato sulla scheda SD della Wii U e il Raspberry Pi deve essere inserito all’avvio della console (in corrispondenza del logo “Wii U”).

Nel menu di ripristino, è possibile ripristinare il titolo di avvio a freddo nel menu della Wii U, scaricare OTP + SEEPROM, visualizzare il PIN del GamePad e molto altro.

Questo dovrebbe riportare in vita un certo numero di console Wii U che sono state bloccate da un uso improprio di Coldboot Haxchi.

Istruzioni

Raspberry Pi Pico

  • Scarica l’ultima versione del file udpih.uf2 da questo indirizzo.
  • Tenere premuto il pulsante BOOTSEL sulla scheda e collegare il Raspberry Pi Pico al PC.
  • Il PC rileverà il Raspberry Pi come dispositivo di archiviazione.
  • Copia il file .uf2 sul Raspberry Pi Pico. Si disconnetterà dopo pochi secondi.

Il Pico è ora flashato e può essere utilizzato per udpih. Continuare con il boot da Recovery Menu in basso.

Raspberry Pi Zero (Linux)

  • Installare le dipendenze richieste:

sudo apt install build-essential raspberrypi-kernel-headers

  • Clonare la repository:

git clone https://github.com/GaryOderNichts/udpih.git
cd udpih

  • Scaricare l’ultima versione del file arm_kernel.bin.h da questo indirizzo e copiarlo nella directory arm_kernel.
  • Costruire il modulo del kernel:

cd linux
make

  • Ora è possibile eseguire sudo insmod udpih.ko per inserire il modulo del kernel nel kernel.

Ora è possibile utilizzare il Raspberry Pi Zero con udpih. Nota che dovrai inserire nuovamente il modulo dopo aver riavviato il Raspberry. Avrai bisogno di 2 cavi USB, uno per alimentarlo e uno che può essere collegato alla console Wii U.

Boot da Recovery Menu

Note importanti per farlo funzionare:

  • Assicurati che nessun altro dispositivo USB sia collegato alla console.
  • Utilizzare solo le porte USB sulla parte anteriore della console, le porte posteriori non funzioneranno.
  • Se la console ha la modalità standby abilitata, stacca la spina di alimentazione e accendila da uno stato di avvio a freddo completo.
  • Copiare l’ultima versione di recovery_menu all’interno della scheda SD formattata FAT32.
  • Inserire la scheda SD nella console e accenderla.
  • Non appena si intravede il logo “Wii U” sulla TV o sul gamepad, collegare il dispositivo Zero/Pico.
    • Questo tempismo è importante. Se sei già nel menu, l’exploit non funzionerà..
  • Dopo alcuni secondi dovresti essere nel menu di ripristino.

Controllare il README del recovery_menu per maggiori informazioni su questo menu.

Download: USB Descriptor Parsing Is Hard (UDPIH) v1 (arm_kernel.bin.h)

Download: USB Descriptor Parsing Is Hard (UDPIH) v1 (udpih.uf2)

Download: Source code USB Descriptor Parsing Is Hard (UDPIH) v1

Download: Recovery Menu v1

Download: Source code Recovery Menu v1

Fonte: wiidatabase.de

Articolo precedente[Scena PS4] Rilasciato Direct Package Installer v6.1.3 [aggiornato x1]
Articolo successivo[Scena NDS] Rilasciato GodMode9i v3.2.2 TWL Summer Release
Sono Nato nel 1980 e da diversi anni coltivo la passione per tutto ciò che riguarda il mondo dei videogiochi, ho vissuto l'era degli home computer con il Commodore 64 e l'Amiga 500, da sempre appassionato di giochi di ruolo e di titoli di avventura.