Il developer Luca Corigliano ha da poco iniziato lo sviluppo di una nuova applicazione per la Switch che dovrebbe permetterci di ricostruire da cartuccia di gioco un file XCI partendo da zero.
Questa utility per PC Windows è ancora altamente Work in Progress, questo significa che non riesce ancora a svolgere pienamente i compiti assegnati,
Tuttavia potrebbe risultare utile per “rippare” i propri giochi per fare in modo che occupino meno spazio (ad esempio eliminando gli aggiornamenti o le lingue non necessarie)..
Caratteristiche
- Ricostruisce il formato XCI.
- Ricostruisce le partizioni HFS0 (con meno padding rispetto a quelle ufficiali).
- Legge i file XCI per ottenere le informazioni necessarie per ricostruirli.
- Può ULTRA-tagliare (ancora sperimentale) XCI rimuovendo l’interezza della partizione di aggiornamento (lasciando almeno un file) e avendo HFS0 meno imbottito.
Comandi
- Digitare
hacbuild hfs0 <in_folder> <out_file>
per creare una partizione hfs0. - Digitare
hacbuild xci <in_folder> <out_file>
per creare un file XCI da una directory contenenteroot.hfs
egame_info.ini
(opzionale). - Digitare hacbuild xci_auto <in_folder> <out_file> per creare un file XCI da una directory contenente le cartelle ‘normal’, ‘secure’, ‘update’ e ‘logo’ se necessario. Utilizza anche il file
game_info.ini
. - Digitare hacbuild read xci <in_file> per leggere un file XCI, visualizza le informazioni sulla console e scarica la configurazione
.ini
del gioco (comegame_info.ini
) nella directory di lavoro.
Il programma cercherà automaticamente un file keys.txt
nella stessa directory per raccogliere l’unica chiave necessaria: XCI Header Key
(xci_header_key = 01C5 ...
).
Breve tutorial
- Estrarre il file XCI di origine utilizzando l’applicazione hactool.
- Leggere le informazioni xci in un file
.ini
digitandohacbuild read xci xciname.xci
. - Copia il file
.ini
generato all’interno di una directory contenente le cartelle “secure” , “normal” e “update” estratti dal file di origine e rinominalo ingame_info.ini
. - Ora apporta una qualsiasi modifica (ad esempio, potreste cancellare le lingue non necessarie oppure tutti i file di aggiornamento, lascia comunque un file non vuoto).
- Ricrea il file xci digitando
hacbuild xci_auto xci_folder out_xci.xci
.
Limitazioni
- Non è possibile generare una firma RSA valida per i file XCI, quindi possono essere caricati solo con patch del kernel.
- Ancora non riesco a capire l’utilità di alcuni campi.
- A causa dei controlli delle firme delle NCA, non possiamo ancora modificare i giochi (ad esempio, i titoli eShop possono essere schiacciati in un XCI ma richiedono comunque un ticket).
- La codifica è abbastanza sporca e manca praticamente qualsiasi gestione delle eccezioni. Utilizzare con cura.
Aiuto richiesto
Abbiamo spinto hacbuild in uno stato in cui è possibile creare file XCI validi, ma c’è ancora molto lavoro da fare. Sappiamo che il potenziale esiste, vorremmo che le persone contribuissero al progetto.
Crediti e link utili
Hacbuild è stato ispirato da:
- hactool di SciresM.
- NXTools di jackron.
- Vorremmo anche ringraziare SwitchBrew per la loro estesa ricerca e documentazione su Nintendo Switch.
Download: hacbuild v1.0.0
Download: Source code hacbuild v1.0.0