giovedì 22 gennaio 2015

Gateway Fastboot (ovvero: viva i DNS)

Chiunque abbia avuto a che fare con i Nintendo 3DS saprà che fino a poco tempo fa l'unico modo per accedere al mondo degli homebrew (e la pirateria...) era avere il proprio firmware massimo alla versione 4.5.0-10. Il cosiddetto DS Profile Exploit richiedeva una flashcard (R4i et similia) per DS e un homebrew appositamente creato che abilitava il lancio di un file forgiato ad hoc da mettere nella SD del 3DS chiamato Launcher.dat (o MsetForBoss.dat). Tale exploit è scomodo perché va riapplicato ogni volta che vogliamo giocare ad un gioco per Nintendo DS, ma siccome fino a qualche giorno fa era l'unica via, meglio così che niente.

Recentemente il team Gateway ha rilasciato un nuovo exploit riguardante il browser che, oltre a funzionare fino al firmware 9.2.0, non richiede più l'uso del DS Profile exploit, rimuovendo la necessità di usare una R4i. Il suo funzionamento è abbastanza basilare; è sufficiente andare al sito go.gateway.com dopo aver messo il file Launcher.dat nella SD. I problemi a questo punto sono due:
  • Bisogna collegare il 3DS ad internet, rischiando che si scarichi gli aggiornamenti e poi rompa le palle
  • Ogni volta bisogna cancellare la cronologia e andare al loro indirizzo
A questo punto mi sono detto: in casa ho sempre il mio bellissimo server (un galaxy s2 modificato) che adempie egregiamente a diversi compiti. Perché non anche come launcher per il "go" exploit?

Lo scopo era ovviamente di isolare il 3DS da internet mentre era in SysNand, e farlo passare all'EmuNand non appena il browser fosse lanciato.

Come? Semplice! lighttpd e dnsmasq!

Partiamo con dnsmasq, in modo da ottenere come prima cosa l'isolazione del 3DS da internet. Tale risultato è ottenibile redirezionando tutte le richieste DNS al server (galaxy s2 ftw) linux. è sufficiente una sola linea da porre nel dnsmasq.conf:
address=/#/192.168.1.107
L'effetto è ridirezionare tutti gli indirizzi all'IP del server. Ovviamente non potete ridirezionare la porta, quindi vi servirà un server HTTP su porta 80. Qui entra in gioco lighttpd. Installatelo sul vostro server con le impostazioni standard, non serve toccare nulla. Nella cartella www/favorites/ mettete questo file:
http://gbatemp.net/threads/release-static-html-javascript-gw-multilauncher.379080/
Chiamatelo però 3ds.php. Dovrete inoltre rimuovere la parte che cambia il nome del Launcher.dat, o non funzionerà. Il punto è che la homepage del 3DS non è modificabile, quindi dovete fargli trovare il file dove lo vuole o il browser vi darà l'errore 404.

Testate il tutto sul vostro PC, impostando il DNS manualmente all'indirizzo del vostro server. Se è tutto apposto, qualsiasi indirizzo scriverete nel browser vedrete l'homepage di lighttpd. Io ho messo il file di cui sopra anche come index, in modo da poterlo richiamare facilmente in ogni caso. Il risultato dovrebbe essere questo:



Ora che siamo sicuri che il 3DS non vedrà internet neanche da lontano, passiamo a configurare il WiFi:


Bene, è tutto pronto. Gustiamoci lo spettacolo.


Nessun commento:

Posta un commento