Disponibile un nuovo aggiornamento per l’applicazione nxdumptool, lo strumento sviluppato dal developer Pablo Curiel ci permette di scaricare e scannerizzare le cartucce di gioco della console Switch.
I giochi, gli aggiornamenti e i DLC eventualmente installati possono essere dumpati in formato .nsp
e indipendentemente da qualsiasi directory.
Il log delle modifiche sembra abbastanza lungo, in primo luogo sono state affrontate diverse modifiche che hanno portato l’applicazione ad analizzare correttamente i ticket e i certificati RSA, seguono a ruota correzioni varie che hanno portato lo strumento ad accelerare il recupero dei ticket/titlekey per le operazioni NSP/ExeFS/RomFS.
Caratteristiche
- Genera depositi di cartucce XCI con rimozione del certificato opzionale e split opzionale.
- Genera pacchetti Nintendo Submission installabili (NSP) da applicazioni di base, aggiornamenti e DLC memorizzati nella scheda di gioco inserita, nella scheda SD e nei dispositivi di memorizzazione eMMC.
- Compatibile con cartucce multigame.
- Calcolo del checksum CRC32 per i dump XCI/NSP.
- Verifica completa del dump XCI tramite il database XML da NSWDB.COM (
NSWreleases.xml
). - Database XML e aggiornamento in-app tramite libcurl.
- Preciso scaricamento della partizione raw HFS0, utilizzando l’intestazione HFS0 di root dalla scheda di gioco.
- Dumping dei dati del filesystem della partizione HFS0.
- Browser del file di partizione HFS0 con supporto di dump file manuale.
- Download dei dati del file della sezione RomFS.
- Browser file di sezione RomFS con supporto di dump file manuale.
- Dumping manuale del certificato della scheda di gioco.
- Controlli dello spazio libero della scheda SD.
- Supporto per la suddivisione di file per tutte le operazioni.
- Recupero dei metadati della scheda di gioco tramite i servizi NCM e NS.
- Calcolo della velocità di scaricamento, calcolo ETA e barra di avanzamento.
- Le operazioni relative ai titoli SD/eMMC installati richiedono un file di chiavi situato in
sdmc:/switch/prod.keys
. Utilizzare il payload Lockpick_RCM per generarlo.
Changelog
- Aggiunta compatibilità con le ultime versioni di devkitA64 e libnx. Grazie a
HookedBehemoth
per il porting delle chiamate IPC extra utilizzate dall’applicazione sul nuovo sistema IPC! - Ora utilizza i contesti dei titoli globali anziché le variabili globali per ogni diversa proprietà del titolo (ID, versione, memoria di origine, ecc.). Semplifica le funzioni di recupero dei metadati.
- Rifattorizzato il codice di analisi HFS0/IStorage, ottimizzando tutte le letture della scheda di gioco eseguite dall’applicazione.
- Dimensioni del buffer di dump aumentate a 4 MiB.
- Le dimensioni del contenuto NCA ora vengono calcolate e visualizzate per tutti i titoli.
- La dimensione del contenuto per aggiornamenti e DLC viene visualizzata nel selettore del titolo dai menu NSP.
- Inoltre, l’applicazione ora visualizza le dimensioni di ciascun titolo nella schermata di riepilogo del dump batch. Inoltre, viene calcolata una dimensione totale approssimativa del dump in base ai titoli selezionati.
- Tenere presente che le informazioni visualizzate non riflettono le dimensioni del dump NSP di output.
- Modifiche ai browser HFS0, ExeFS e RomFS:
- Le dimensioni dei file ora vengono visualizzate per tutte le voci dei file.
- Il dump di un file/directory non ripristina più la posizione del cursore.
- Gli elenchi visualizzati ora sono ordinati lessicograficamente.
- Ora è possibile eseguire ricerche di checksum CRC32 utilizzando il database No-Intro. Grazie mille alla gente di No-Intro.org!
- Questo nuovo metodo richiede una connessione Internet funzionante in fase di esecuzione.
- Per i dump XCI, questo viene semplicemente offerto in alternativa al metodo del database XML NSWDB.COM, senza sostituirlo. Aggiunta inoltre una nuova opzione al menu di dump XCI, che consente all’utente di selezionare il metodo di verifica che desidera utilizzare.
- Per i dump NSP, d’altra parte, questo offre un modo per validare effettivamente i dump:
- La funzione “CRC32 checksum calculation”, che era un po ‘inutile, è stata completamente rimossa. La nuova opzione “Verify dump using No-Intro database” ha preso il suo posto.
- La verifica del dump NSP si ottiene semplicemente calcolando il checksum CRC32 dall’NCA CNMT di output ed eseguendo una ricerca utilizzando il database No-Intro. Questo funziona a causa del modo in cui i dati CNMT vengono gestiti dall’applicazione:
- Il checksum SHA-256 per ogni NCA viene sempre ricalcolato durante il processo di dump e l’NCA CNMT viene sempre patchato in seguito. Tuttavia, se non vengono apportate modifiche all’NCA, l’NCA CNMT finisce per essere identica alla sua controparte originale, poiché i record del contenuto non saranno affatto cambiati.
- Ciò consente all’applicazione di verificare il dump NSP eseguendo una ricerca di checksum CRC32 utilizzando i dati NCA CNMT, purché non vengano apportate modifiche NCA.
- Pertanto, questo metodo funziona solo con i titoli della scheda SD/eMMC, purché l’opzione “Generate ticket-less dump” sia disabilitata.
- Questa opzione non viene visualizzata nei menu relativi alla scheda di gioco e non è compatibile con i dump batch.
- A grande richiesta, nei menu XCI, NSP e dump batch è stata aggiunta un’opzione per modificare lo schema di denominazione utilizzato con i file di output nel modo seguente:
- XCI dump:
- Gioco singolo:
TitleName [TitleID][TitleVersion]
. - Multigioco:
TitleName1 [TitleID1][TitleVersion1] + TitleName2 [TitleID2][TitleVersion2] + ... + TitleNameN [TitleIDN][TitleVersionN]
.
- Gioco singolo:
- NSP/Batch dump:
TitleName [TitleID][TitleVersion][TitleType]
. - La funzione “Remember dumped titles” disponibile in modalità batch non è influenzata da questa nuova impostazione: le sostituzioni batch continueranno a utilizzare il normale schema di denominazione.
- XCI dump:
- Aggiunta un’opzione per includere i file NCA del frammento delta nei dump NSP di output dagli aggiornamenti SD/eMMC installati, è disabilitato per impostazione predefinita.
- Aggiunto un piccolo menu di impostazioni alle sezioni ExeFS/RomFS con le seguenti opzioni:
Split files bigger than 4 GiB (FAT32 support)
: A differenza delle versioni precedenti, ora è possibile verificare se la suddivisione dei file avverrà per i dump di file ExeFS/RomFS, invece di dividerli sempre. Se questa opzione è abilitata, i file di dimensioni superiori a 4 GiB ora verranno suddivisi e archiviati in una sottodirectory con il bit di archivio impostato (come i file NSP).Save data to CFW directory (LayeredFS)
: Abilitando questa opzione i dati di output verranno salvati nella directory dal CFW in esecuzione, utilizzando il layout LayeredFS.
- Aggiunta una nuova opzione al menu della modalità batch per verificare se il processo di dump batch deve interrompere eventuali errori. Se disabilitato, farà in modo che il processo di dump batch attenda 5 secondi su eventuali errori, quindi continuerà.
- Lo spazio libero sulla scheda SD ora viene sempre visualizzato in ogni stato dell’interfaccia utente. Viene inoltre visualizzato e aggiornato durante le operazioni in modalità batch.
- Il sottomenu ExeFS ora è disponibile per gli aggiornamenti nell’elenco dei contenuti orfani (menu pulsante Y).
- Ora è possibile uscire dall’applicazione dalla schermata di riepilogo del dump batch.
- Ora viene visualizzato un avviso nel menu principale se l’applicazione viene avviata utilizzando la modalità applet. I dump NSP dalle applicazioni di base e dagli aggiornamenti potrebbero non riuscire se non è disponibile un heap sufficiente per contenere NSO
main
non compresso durante la generazione diprograminfo.xml
. - Query XPath migliorata utilizzata quando si cercano corrispondenze di checksum nel database XML NSWDB.COM. Risolve la ricerca di checksum CRC32 per le cartucce multigioco.
- Le directory RomFS vuote ora vengono gestite correttamente dal browser RomFS.
- Rimosso un controllo di offset della sezione RomFS BKTR che causava problemi durante il tentativo di eseguire operazioni relative a RomFS con alcuni aggiornamenti (ad esempio Luigi’s Mansion 3).
- Le letture IStorage fisiche vengono ora eseguite per recuperare le ANC dalle schede di gioco, anziché utilizzare
ncmContentStorageReadContentIdFile()
. Corregge le operazioni NSP/ExeFS/RomFS della scheda di gioco nelle versioni FW <4.0.0. - Corretti i problemi di lettura non allineata di IStorage nei file di dump di file manuali da partizioni HFS0 nelle schede di gioco. I file non allineati scaricati in questo modo non devono più contenere dati inutili.
- Corretto il problema di perdita di memoria nel codice di verifica del database XML.
- Corretto un bug di indicizzazione nel browser RomFS che poteva potenzialmente causare problemi durante l’esecuzione di qualsiasi azione dalla directory principale.
- Corretto il problema con l’hotswapping della scheda di gioco nei sottomenu relativi alla scheda di gioco.
- Corretto il controllo dello spazio libero della scheda SD nelle procedure sequenziali di dump XCI/NSP.
- Corretto un bug per il quale il nome del dump di output non veniva generato per il contenuto orfano quando non venivano installate applicazioni di base, impedendo l’avvio della procedura di dump NSP. Grazie a snes878 per aver segnalato questo!
- Corretto un bug che impediva il recupero del ticket per un aggiornamento gamecard in bundle dalla partizione Secure HFS0 durante una procedura di dump NSP. Grazie a snes878 per aver segnalato questo!
- Corretto un bug per il quale un processo di dump NSP si interrompeva se nel file di salvataggio del sistema ES non veniva trovato alcun certificato del ticket personalizzato (ad esempio quando non sono stati scaricati dall’eShop titoli con crittografia di chiave del titolo personalizzata). Grazie a satel per aver segnalato questo!
- Corretto un bug per il quale sarebbe stato generato un elenco di contenuti orfani vuoto se non fosse stata installata alcuna applicazione di base. Grazie a
Newb_3DS#6287
per aver segnalato questo problema!
Grazie a FennecTECH and MUXI dei forum PSXTools per aver fornito test!
[stextbox id=’info’]PSA: Se hai scaricato nuovi giochi dall’eShop dopo l’aggiornamento alla versione 9.0.0+ e hai utilizzato una versione precedente di nxdumptool per scaricare i file NSP con dati specifici della console, ti preghiamo di ridurli: la loro catena di certificati RSA non è quella corretta. I dump senza dati specifici della console (o senza ticket) non sono interessati da questo.[/stextbox]
Ringraziamenti
- MCMrARM, per aver creato l’applicazione originale.
- RSDuck, per il loro switch vba-next-port. Il codice del menu dell’interfaccia utente è stato preso come base per questa applicazione.
- Foen, per avermi dato qualche buon suggerimento su come usare il servizio NCM.
- Yellows8, per avermi aiutato a sistemare un bug nella mia implementazione di alcune chiamate IPC del servizio NCM.
- Le persone di ReSwitched, per lavorare verso la creazione di un buon ecosistema di homebrew.
Download: nxdumptool v1.1.8
Download: Source code nxdumptool v1.1.8
Fonte: github.com