[3DS]Rilasciato fuse-3ds v1.0b6

Lo sviluppatore ihaveamac ha rilasciato un nuovo aggiornameno della nuova applicazione per console 3DS chiamata fuse-3ds in versione 1.0b6.fuse-3ds ti consente di leggere e scrivere file per il Nintendo 3DS senza estrarre o separare la decodifica.Poiché si comporta come un file system virtuale, puoi sfogliarlo con un gestore di file (ad es. Windows / Esplora file e Finder) e utilizzare qualsiasi strumento per leggerlo. Tutta la crittografia è gestita in modo trasparente da fuse-3ds.

Attenzione:si consiglia l’utilizzo a utenti esperti.Noi non siamo responsabili di eventuali brick alla vostra console

Anteprima

 

Esempi di utilizzo

  • Montare un backup NAND e sfogliare CTRNAND, TWLNAND e altri e riscriverli senza doverli estrarre e decrittografarli per primi.
  • Sfogliare i contenuti della scheda SD decriptati. Scarica i giochi installati e salva o copia i contenuti tra i due contenuti SD del sistema.
  • Estrarre i file di un gioco da un CIA, CCI (“.3ds”), NCCH, RomFS, contenuti CDN non elaborati, semplicemente montandoli e sfogliando i suoi file. Oppure utilizzando subito il file decodificato virtuale per avviare il gioco in Citra .

Impostazioni

È richiesto il bootROM ARM9. Puoi scaricarlo usando boot9strap, che può essere configurato da 3DS Hacks Guide . Viene controllato in ordine di:

  • BOOT9_PATH variabile d’ambiente (se impostata)
  • boot9.bin (completo) nella directory di lavoro corrente
  • boot9_prot.bin (protetto) nella directory di lavoro corrente
  • ~/.3ds/boot9.bin (pieno)
  • ~/.3ds/boot9_prot.bin (Protetto)
  • ~/3ds/boot9.bin (pieno)
  • ~/3ds/boot9_prot.bin (Protetto)

” ~” indica la directory home dell’utente. ” ~/3ds” significherebbe /Users/username/3dssu macOS e C:\Users\username\3dssu Windows.

Per il montaggio dei contenitori NCCH è necessario SeedDB per il montaggio CCI, CDN, CIA e NCCH .
SeedDB viene controllato in ordine di:

  • SEEDDB_PATH variabile d’ambiente (se impostata)
  • seeddb.bin nella directory di lavoro corrente
  • ~/.3ds/seeddb.bin
  • ~/3ds/seeddb.bin

Può anche essere fornito con l’argomento --seeddb.

Sono richiesti Python 3.5.2+, pycryptodomex e fusepy. appJar è richiesto per la GUI.

  • Nota :il supporto per Python 3.5 potrebbe essere abbandonato qualche tempo dopo il rilascio di Ubuntu 18.04, aumentando il requisito di 3.6.1.

Windows

Una GUI è disponibile per l’uso. Se scarichi l’exe dall’ultima versione e lo esegui, apparirà una finestra che ti permetterà di scegliere le opzioni di montaggio.

Python non deve essere installato, ma WinFsp è ancora richiesto.

Installa con Python esistente

  • Installa l’ultima versione di Python 3 . La versione x86-64 è preferibile su Windows a 64 bit.
  • Installa l’ultima versione di WinFsp .
  • Installa fuse-3ds con py -3 -m pip install --upgrade https://github.com/ihaveamac/fuse-3ds/archive/master.zip https://github.com/billziss-gh/fusepy/archive/windows.zip.
    • Al momento, il repository di fusepy non ha il supporto completo di Windows. Questo requisito aggiuntivo verrà rimosso una volta aggiunto o una nuova versione.

Mac OS

  • Installa l’ultima versione di Python 3. Il modo consigliato è Homebrew . Puoi anche usare un programma di installazione da python.org o uno strumento come pyenv .
  • Installa l’ultima versione di FUSE per macOS .
  • Installa fuse-3ds con python3 -m pip install --upgrade https://github.com/ihaveamac/fuse-3ds/archive/master.zip.

Linux

  • La maggior parte delle distribuzioni moderne dovrebbe avere preinstallato Python 3.5.2 o successivo o incluso nei suoi repository. In caso contrario, è possibile utilizzare un repository aggiuntivo (ad es . PPA di Deadsnakes per Ubuntu), compilato o utilizzare uno strumento come pyenv .
  • La maggior parte delle distribuzioni dovrebbe avere fuse abilitato / installato di default. Usa il tuo gestore di pacchetti se non lo è.
  • Installa fuse-3ds con python3 -m pip install --upgrade --user https://github.com/ihaveamac/fuse-3ds/archive/master.zip.
    • --user non è necessario se si sta utilizzando un ambiente virtuale.

Utilizzo

Interfaccia grafica utente

È possibile utilizzare una GUI specificando la  gui(ad es. Windows py -3 -mfuse3ds gui:, * nix:) python3 -mfuse3ds gui.

Riga di comando

Il modo principale per eseguire uno script di montaggio dopo l’installazione utilizza ” mount_<type>” (ad esempio mount_cci game.3ds mountpoint).

Se non funziona, l’altro modo è quello di utilizzare <python-cmd> -mfuse3ds <type>(ad es. Windows py -3 -mfuse3ds cci game.3ds mountpoint:, * nix:) python3 -mfuse3ds cci game.3ds mountpoint.

Gli utenti Windows possono utilizzare una lettera come unità F:un punto di montaggio o utilizzare *e una lettera di unità verrà automaticamente selezionata.

Esempi

  • Montare un dump della scheda di gioco 3DS:
    mount_cci game.3ds mountpoint
  • Montare i contenuti scaricati da CDN:
    mount_cdn cdn_directory mountpoint
  • Monta i contenuti del CDN con un titlekey decrittografato specifico:
    mount_cdn --dec-key 3E3E6769742E696F2F76416A65423C3C cdn_directory mountpoint
  • Montare una CIA:
    mount_cia game.cia mountpoint
  • Montare un ExeFS:
    mount_exefs exefs.bin mountpoint
  • Montare un backup NAND con essential.exefsincorporato:
    mount_nand nand.bin mountpoint
  • Montare un backup NAND con file OTP e CID:
    mount_nand --otp otp.bin --cid nandcid.bin nand.bin mountpoint
  • Montare un backup NAND con file OTP e una stringa CID:
    mount_nand --otp otp.bin --cid 7468616E6B7334636865636B696E6721 nand.bin mountpoint
  • Montare un contenitore NCCH (.app, .cxi, .cfa, .ncch):
    mount_ncch content.cxi mountpoint
  • Montare una RomFS:
    mount_romfs romfs.bin mountpoint
  • Montare una directory Nintendo 3DS da una scheda SD:
    mount_sd --movable movable.sed "/path/to/Nintendo 3DS" mountpoint
  • Montare un’intera directory title (come quella di un backup NAND o in un supporto per scheda SD):
    mount_titledir title mountpoint

Strumenti utili

  • Lo strumento 3ds-save di wwylele può essere utilizzato per estrarre salvataggi di gioco e dati aggiuntivi (rispettivamente DISA e DIFF).
  • OSFMount per Windows può montare partizioni FAT12 / FAT16 nei backup NAND.

Montare script

mount_cci

Monta file immagine CTR (CCI, “.3ds”), creando un filesystem virtuale di partizioni separate.

usage: mount_cci [-h] [-f] [-d] [-o OPTIONS] [--dev] [--seeddb SEEDDB]
cci mount_point
Mount Nintendo 3DS CTR Cart Image files.
positional arguments:
cci              CCI file
mount_point      mount point
optional arguments:
-h, --help       show this help message and exit
-f, --fg         run in foreground
-d               debug output (fuse/winfsp log)
-o OPTIONS       mount options
--dev            use dev keys
--seeddb SEEDDB  path to seeddb.bin

File attuali

mount_point
├── content0.game/        (contains contents from mount_ncch)
├── content1.manual/      (contains contents from mount_ncch)
├── content2.dlp/         (contains contents from mount_ncch)
├── content6.update_o3ds/ (contains contents from mount_ncch)
├── content7.update_n3ds/ (contains contents from mount_ncch)
├── cardinfo.bin
├── content0.game.ncch
├── content1.manual.ncch
├── content2.dlp.ncch
├── content6.update_o3ds.ncch
├── content7.update_n3ds.ncch
├── devinfo.bin
└── ncsd.bin

mount_cdn

Monta i contenuti CDN non elaborati, creando un filesystem virtuale di contenuti decrittografati (se crittografati).

usage: mount_cdn [-h] [-f] [-d] [-o OPTIONS] [--dev] [--seeddb SEEDDB]
[--dec-key DEC_KEY]
cdn_dir mount_point
Mount Nintendo 3DS CDN contents.
positional arguments:
cdn_dir            directory with CDN contents
mount_point        mount point
optional arguments:
-h, --help         show this help message and exit
-f, --fg           run in foreground
-d                 debug output (fuse/winfsp log)
-o OPTIONS         mount options
--dev              use dev keys
--seeddb SEEDDB    path to seeddb.bin
--dec-key DEC_KEY  decrypted titlekey

File attuali

mount_point
├── <id>.<index>/     (contains contents from mount_ncch)
├── <id>.<index>.ncch (.nds for twl titles)
├── ticket.bin        (only if a ticket is available)
├── tmd.bin
└── tmdchunks.bin

mount_cia

Monta i file CTR  (CIA), creando un filesystem virtuale di contenuti decrittografati (se crittografati) + Ticket, Title Metadata e Meta region (se esiste).

I DLC con contenuti mancanti non è attualmente supportato.

usage: mount_cia [-h] [-f] [-d] [-o OPTIONS] [--dev] [--seeddb SEEDDB]
cia mount_point
Mount Nintendo 3DS CTR Importable Archive files.
positional arguments:
cia              CIA file
mount_point      mount point
optional arguments:
-h, --help       show this help message and exit
-f, --fg         run in foreground
-d               debug output (fuse/winfsp log)
-o OPTIONS       mount options
--dev            use dev keys
--seeddb SEEDDB  path to seeddb.bin

File attuali

mount_point
├── <id>.<index>/     (contains contents from mount_ncch)
├── <id>.<index>.ncch (.nds for twl titles)
├── cert.bin
├── header.bin
├── icon.bin          (only if meta region exists)
├── meta.bin          (only if meta region exists)
├── ticket.bin
├── tmd.bin
└── tmdchunks.bin

mount_exefs

Monta file Executable Filesystem (ExeFS), creando un filesystem virtuale dei contenuti di ExeFS.

usage: mount_exefs [-h] [-f] [-d] [-o OPTIONS] [--decompress-code]
exefs mount_point
Mount Nintendo 3DS Executable Filesystem (ExeFS) files.
positional arguments:
exefs              ExeFS file
mount_point        mount point
optional arguments:
-h, --help         show this help message and exit
-f, --fg           run in foreground
-d                 debug output (fuse/winfsp log)
-o OPTIONS         mount options
--decompress-code  decompress the .code section

mount_nand

Monta le immagini NAND, creando un filesystem virtuale di partizioni decifrate. È possibile leggere il backup di Essentials tramite GodMode9, altrimenti il ​​file OTP / NID CID deve essere fornito negli argomenti.

usage: mount_nand [-h] [-f] [-d] [-o OPTIONS] [-r] [--dev] [--otp OTP]
[--cid CID]
nand mount_point
Mount Nintendo 3DS NAND images.
positional arguments:
nand         NAND image
mount_point  mount point
optional arguments:
-h, --help   show this help message and exit
-f, --fg     run in foreground
-d           debug output (fuse/winfsp log)
-o OPTIONS   mount options
-r, --ro     mount read-only
--dev        use dev keys
--otp OTP    path to otp (enc/dec); not needed if NAND image has essentials
backup from GodMode9
--cid CID    NAND CID; not needed if NAND image has essentials backup from
GodMode9

File attuali

mount_point
├── essential/        (only if essential.exefs was embedded)
├── agbsave.bin
├── bonus.img         (only if GM9 bonus drive is detected)
├── ctrnand_fat.img
├── ctrnand_full.img
├── essential.exefs   (only if essential.exefs was embedded)
├── firm0.bin
├── firm1.bin         (up to 8 firm partitions may be displayed)
├── nand.bin
├── nand_hdr.bin
├── nand_minsize.bin
├── sector0x96.bin    (only if keysector is detected)
├── twl_full.img
├── twlmbr.bin
├── twln.img
└── twlp.img

mount_ncch

Monta i contenitori NCCH, creando un filesystem virtuale di sezioni decifrate.

usage: mount_ncch [-h] [-f] [-d] [-o OPTIONS] [--dev] [--seeddb SEEDDB]
ncch mount_point
Mount Nintendo 3DS NCCH containers.
positional arguments:
ncch             NCCH file
mount_point      mount point
optional arguments:
-h, --help       show this help message and exit
-f, --fg         run in foreground
-d               debug output (fuse/winfsp log)
-o OPTIONS       mount options
--dev            use dev keys
--seeddb SEEDDB  path to seeddb.bin

File attuali

mount_point
├── exefs/           (contains contents from mount_exefs)
├── romfs/           (contains contents from mount_romfs)
├── decrypted.cxi    (shows as decrypted.cfa if the content is not executable)
├── exefs.bin
├── extheader.bin
├── logo.bin         (only if the logo is in a separate region, for 5.0+ games)
├── ncch.bin
├── plain.bin
└── romfs.bin

mount_romfs

Monta file Filesystem di sola lettura (RomFS), creando un filesystem virtuale dei contenuti RomFS. Accetta quelli con e senza intestazione IVFC (formato HANS originale).

usage: mount_romfs [-h] [-f] [-d] [-o OPTIONS] romfs mount_point
Mount Nintendo 3DS Read-only Filesystem (RomFS) files.
positional arguments:
romfs        RomFS file
mount_point  mount point
optional arguments:
-h, --help   show this help message and exit
-f, --fg     run in foreground
-d           debug output (fuse/winfsp log)
-o OPTIONS   mount options

mount_sd

Mantiene contenuti SD sotto /Nintendo 3DS, creando un filesystem virtuale con contenuti decrittografati. richiesto.

usage: mount_sd [-h] [-f] [-d] [-o OPTIONS] [-r] [--dev] --movable MOVABLESED
sd_dir mount_point
Mount Nintendo 3DS SD card contents.
positional arguments:
sd_dir                path to folder with SD contents (on SD: /Nintendo 3DS)
mount_point           mount point
optional arguments:
-h, --help            show this help message and exit
-f, --fg              run in foreground
-d                    debug output (fuse/winfsp log)
-o OPTIONS            mount options
-r, --ro              mount read-only
--dev                 use dev keys
--movable MOVABLESED  path to movable.sed

mount_titledir

Monta una directory “titolo”, creando un sistema virtuale di tutti i titoli installati al suo interno.

usage: mount_titledir [-h] [-f] [-d] [-o OPTIONS] [--dev] [--seeddb SEEDDB]
[--mount-all] [--decompress-code]
title_dir mount_point
Mount Nintendo 3DS NCCH files from installed NAND/SD titles.
positional arguments:
title_dir          title directory
mount_point        mount point
optional arguments:
-h, --help         show this help message and exit
-f, --fg           run in foreground
-d                 debug output (fuse/winfsp log)
-o OPTIONS         mount options
--dev              use dev keys
--seeddb SEEDDB    path to seeddb.bin
--mount-all        mount all contents, not just the first
--decompress-code  decompress code of all mounted titles (can be slow with
lots of titles!)

Changelog

v1.0b6

  • Aggiunto mount HomeShow 3DSX, mostra i contenuti SMDH e RomFS se il file specificato li ha
  • GUI: parti organizzate in riquadri etichettati, sposta le informazioni sulla versione nella sottofinestra “Extra”
  • GUI: Risolto possibile PermissionError su Windows se una directory viene rilasciata nella casella del tipo
  • GUI: Risolto il problema di ridimensionamento se avviato con un file specifico
  • Corretta l’installazione come modulo (avevo dimenticato di aggiungere fuse3ds.pyctr.typessetup.py)
  • Ulteriori miglioramenti alla stabilità generale
  • Altre piccole modifiche apportate
  • Esperienza utente migliorata

Problemi noti

  • La creazione di file nel supporto SD su macOS non funziona correttamente

v1.0b4

  • Aggiunta una nuova finestra “Extra” con link a tutorial e repo
  • Aggiunta una nuova voce del menu contestuale per gli utenti di Windows (nella finestra Extra)
  • Rilevamento automatico di un formato file se la gui viene avviata con un argomento (per supportare la voce del menu contestuale)
  • Supporto delle variabili BOOT9_PATHSEEDDB_PATH
  • Controllo più affidabile se la montatura non è riuscita nella GUI
  • Imposta solo la dimensione del font della gui su Windows
  • Corregge il gestore delle eccezioni errato per il montaggio CIA
  • Altre correzioni e modifiche

Nota importante

Questa non è una versione completa, è in versione beta.Il supporto NAND e SD consente la scrittura. Conserva i backup prima di scrivere su questi file, nel caso in cui un errore sconosciuto corrompa i dati.

Download

Fonte
Github
Ti è piaciuta la notizia? Supporta theheroGAC su Patreon!

theheroGAC

Nato negli anni 80 con la passione dei videogiochi e delle console.Il mio primo home computer è l'Amiga 600 regalato a 10 anni.Amo aiutare le persone in difficoltà e scrivere notizie sulle console.Studio all'università e il sito Games And Consoles è la mia passione.Per gli amici mi potete chiamare Ciccio

Ti potrebbe anche interessare

Rispondi