Il developer Alex Barney ha rilasciato una nuova libreria .NET (o .NET Core) che permette di aprire, decrittografare ed estrarre diversi formati utilizzati dalla console Nintendo Switch.
Tutto il contenuto viene importato ed esportato come flussi .NET. Ciò significa che la lettura di tipi di file e crittografie nidificate può essere facilmente eseguita collegando insieme diversi lettori di file.
Ad esempio, i file di un titolo memorizzato sulla scheda SD esterna possono essere letti o estratti in questo modo.
NAX0 Reader
-> NCA Reader
-> RomFS Reader
-> Individual Files
hactoolnet
hactoolnet è un programma di esempio che utilizza la libreria LibHac, viene utilizzato in modo simile ad hactool.
Utilizzo
Utilizzo: hactoolnet.exe [opzioni ...] <percorso>
Opzioni
-r, --raw
- Mantieni i dati raw, non decomprimere.
-y, --verify
- Verifica tutti gli hash nel file di input.
-h, --enablehash
- Abilita l’hash durante la lettura del file di input.
-k, --keyset
- Carica le chiavi da un file esterno.
-t, --intype=type
- Specifica il tipo di file di input [nca, xci, romfs, pk11, pk21, ini1, kip1, switchfs, save, keygen]
--titlekeys <file>
- Carica le chiavi del titolo da un file esterno.
Opzioni NCA
--section0 <file>
- Specifica il percorso del file della sezione 0.
--section1 <file>
- Specifica il percorso del file della sezione 1.
--section2 <file>
- Specifica il percorso del file della sezione 2.
--section3 <file>
- Specifica il percorso del file della sezione 3.
--section0dir <dir>
- Specifica il percorso della directory 0 della sezione.
--section1dir <dir>
- Specifica il percorso della directory della Sezione 1.
--section2dir <dir>
- Specifica il percorso della directory della sezione 2.
--section3dir <dir>
- Specifica il percorso di directory della sezione 3.
--exefs <file>
- Specifica il percorso della directory ExeFS.
--exefsdir <dir>
- Specifica il percorso della directory ExeFS.
--romfs <file>
- Specifica il percorso della directory RomFS.
--romfsdir <dir>
- Specifica il percorso della directory RomFS.
--listromfs
- Elenca i file in RomFS.
--basenca
- Imposta Base NCA da utilizzare con le partizioni di aggiornamento.
Opzioni RomFS
--romfsdir <dir>
- Specifica il percorso della directory RomFS.
--listromfs
- Elenca i file in RomFS.
Opzioni XCI
--rootdir <dir>
- Specifica il percorso della directory XCI principale.
--updatedir <dir>
- Specifica il percorso della directory XCI di aggiornamento.
--normaldir <dir>
- Specifica il normale percorso di directory XCI.
--securedir <dir>
- Specifica il percorso della directory XCI sicuro.
--logodir <dir>
- Specifica il percorso della directory XCI del logo.
--outdir <dir>
- Specifica il percorso della directory XCI.
--exefs <file>
- Specifica il percorso del file ExeFS principale.
--exefsdir <dir>
- Specificare il percorso della directory ExeFS principale.
--romfs <file>
- Specifica il percorso del file RomFS principale.
--romfsdir <dir>
- Specifica il percorso di directory RomFS principale.
--nspout <file>
- Specifica il file per il NSP creato.
Opzioni Package1:
--outdir <dir>
- Specifica il percorso della directory del pacchetto 1.
Opzioni Package2:
--outdir <dir>
- Specifica il percorso della directory di Package2.
Opzioni INI1:
--outdir <dir>
- Specifica il percorso della directory INI1.
Opzioni Switch FS
--sdseed <seed>
- Imposta un seme unico della console per la crittografia NAX0 della scheda SD.
--listapps
- Elenca le informazioni dell’applicazione.
--listtitles
- Elenca le informazioni sul titolo per tutti i titoli.
--title <Title ID>
- Specificare ID titolo da utilizzare.
--outdir <dir>
- Specificare il percorso della directory in cui salvare gli NCA del titolo. (deve essere specificato –title)
--exefs <file>
- Specificare il percorso della directory ExeFS. (deve essere specificato –title)
--exefsdir <dir>
- Specificare il percorso della directory ExeFS. (deve essere specificato –title)
--romfs <file>
- Specifica il percorso della directory RomFS. (deve essere specificato –title)
--romfsdir <dir>
- Specifica il percorso della directory RomFS. (deve essere specificato –title)
--savedir <dir>
- Specificare il percorso della directory del file di salvataggio.
-y, --verify
- Verifica tutti i titoli o verifica un titolo singolo se –title è impostato.
Opzioni di salvataggio
--outdir <dir>
- Specifica il percorso della directory in cui salvare i contenuti.
--debugoutdir <dir>
- Specificare il percorso della directory in cui salvare i dati intermedi per il debug.
--sign
- Firma il file di salvataggio. (Richiede il tasto device_key nel file chiave)
Opzioni keygen
--outdir <dir>
- Specifica il percorso della directory in cui salvare i file chiave.
Esempi
Elenca le applicazioni su una scheda SD Switch o NAND:
hactoolnet -t switchfs --sdseed <sd_seed> --listapps <sd_root_path>
Estrarre un titolo da una scheda SD o NAND come file NCA:
hactoolnet -t switchfs --sdseed <sd_seed> --title <title_id> --outdir output <sd_root_path>
Estrarre il RomFS da un titolo da una scheda SD o NAND:
hactoolnet -t switchfs --sdseed <sd_seed> --title <title_id> --romfsdir romfs <sd_root_path>
Specificando il Title ID di base si estrae il titolo non patchato.
Specificando il Title ID della patch si estrae il titolo patchato.
Chiavi esterne
Le chiavi possono essere caricate da un file di testo specificando un nome file con l’argomento -k
. Il file dovrebbe essere nello stesso formato letto da hactool:
I file Keyset sono file di testo contenenti una chiave per riga, nel formato key_name = HEXADECIMALKEY
. Il case non dovrebbe avere importanza, né lo spazio deve essere sufficiente.
Le chiavi univoche della console possono essere caricate da un file di testo specificando un nome file con l’argomento --consolekeys
. Il formato del file è lo stesso del file del keyset principale.
Le chiavi del titolo possono essere caricate da un file di testo specificando un nome file con l’argomento --titlekeys
. Il file deve contenere una chiave per riga nel modulo rights_id,HEXADECIMALKEY
.
Se un file di chiavi non è impostato sulla riga di comando, hactoolnet cercherà e caricherà il file keyfile da: $HOME/.switch/prod.keys
, $HOME/.switch/console.keys
e $HOME/.switch/title.keys
.
Download: hactoolnet v0.1.3