Home Mac OS Rilasciato ninfs (ex fuse-3ds) v2.0a9

Rilasciato ninfs (ex fuse-3ds) v2.0a9

786
0

Ninfs (precedentemente fuse-3ds) è un semplice strumento sviluppato dal developer Ian Burgwin per estrarre dati dalle console di gioco Nintendo. Funziona presentando un filesystem virtuale con i contenuti dei propri giochi, NAND o contenuti della scheda SD.

Dal programma è possibile sfogliare e copiare solo i file di cui si ha bisogno, anche se lo strumento è tutt’altro che finito, mancano ancora alcune funzionalità essenziali, mentre altre potrebbero non funzionare correttamente o non funzionare affatto.

Tipi di file supportati

  • Nintendo 3DS:
    • CTR Cart Image (.3ds, .cci).
    • Contenuti CDN (“cetk”, “tmd”, e contenuti).
    • CTR Importable Archive (.cia).
    • Executable Filesystem (.exefs, exefs.bin).
    • Nintendo 3DS NAND backup (nand.bin).
    • NCCH (.cxi, .cfa, .ncch, .app).
    • Filesystem di sola lettura (.romfs, romfs.bin).
    • SD Card Contents (“Nintendo 3DS” da SD).
    • Contenuto del titolo SD installato (file *.tmd e *.app).
    • 3DSX Homebrew (.3dsx).
  • Nintendo DS/DSi:
    • Backup NAND Nintendo DSi (nand_dsi.bin).
    • Immagine della ROM del Nintendo DS (.nds, .srl).
  • iQue Player:
    • Backup NAND di iQue Player (sola lettura) (nand.bin).
  • Nintendo Switch:
    • Backup NAND di Nintendo Switch (rawnand.bin).

Esempi di utilizzo

  • Monta un backup NAND ed esplora CTRNAND, TWLNAND e altri e scrivi di nuovo su di essi senza doverli prima estrarre e decrittografarli.
  • Sfoglia il contenuto della scheda SD decrittografata. Esegui il dump di giochi e salvataggi installati o copia i contenuti tra i contenuti SD di due sistemi.
  • Estrai i file di un gioco da un CIA, CCI (.3ds), NCCH, RomFS, contenuti CDN grezzi, semplicemente montandoli e sfogliando i suoi file. Oppure usa il file virtuale decrittografato e inizia subito a giocare in Citra.

Setup

Per i tipi 3DS, è richiesta la bootROM ARM9. Puoi scaricarlo usando boot9strap, che può essere impostato da 3DS Hacks Guide. Per scaricare la bootROM, tenere premuto + + quando si avvia il 3DS. Viene controllato in ordine di:

  • --boot9 argomento (se impostato).
  • BOOT9_PATH variabile d’ambiente (se impostata).
  • %APPDATA%\3ds\boot9.bin (specifico per Windows).
  • ~/Library/Application Support/3ds/boot9.bin (specifico per macOS).
  • ~/.3ds/boot9.bin
  • ~/3ds/boot9.bin

boot9_prot.bin può essere utilizzato anche in tutte queste posizioni.

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

Il montaggio di CDN, CIA e NCCH potrebbe richiedere  SeedDB  per il montaggio di contenitori NCCH di giochi più recenti (2015+) che utilizzano seed. SeedDB viene controllato in ordine di:

  • --seeddb argomento (se impostato).
  • SEEDDB_PATH variabile d’ambiente (se impostata).
  • %APPDATA%\3ds\seeddb.bin (specifico per Windows).
  • ~/Library/Application Support/3ds/seeddb.bin (specifico per macOS).
  • ~/.3ds/seeddb.bin
  • ~/3ds/seeddb.bin

È richiesto Python 3.6.1 o successivo.

Windows

È richiesto Windows 8.1 o successivo.

Installazione

Nelle versioni viene fornito un programma di installazione. Include sia ninfs che WinFsp.

Rilascio autonomo

Nelle versioni viene fornito anche un archivio .zip autonomo. WinFsp  deve essere installato separatamente.

Installazione con Python esistente

  • Installare l’ultima versione di Python 3. La versione x86-64 viene preferita su Windows a 64 bit.
    • È anche possibile utilizzare Python da Microsoft Store. Se viene utilizzato,  python3 deve essere utilizzato al posto di  py -3. Questa versione ha tuttavia alcune limitazioni, come non essere in grado di eseguire il mount nelle directory.
  • Installare l’ultima versione di WinFsp.
  • Installa ninf con py -3 -m pip install --upgrade https://github.com/ihaveamac/ninfs/archive/2.0.zip

Mac OS

Le versioni di macOS supportate da Apple sono altamente raccomandate. macOS Sierra è la versione più vecchia che dovrebbe funzionare. macFUSE  è richiesto.

Al momento non è disponibile alcuna build autonoma.

Installazione con Python esistente

  • Installare 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.
  • Installare l’ultima versione di macFUSE.
  • Installare ninf con python3 -m pip install --upgrade https://github.com/ihaveamac/ninfs/archive/2.0.zip

Linux

Arch Linux

(NOTA: le versioni git non sono aggiornate mentre il processo di compilazione si stabilizza)
ninfs è disponibile in AUR:  normal,  with guigit,  git con gui

Altre distribuzioni

  • Le distribuzioni recenti (ad es. Ubuntu 18.04 e successive) dovrebbero avere Python 3.6.1 o successivo preinstallato o incluso nei suoi repository. In caso contrario, puoi utilizzare una repository aggiuntiva (ad es  .PPA di deadsnakes  per Ubuntu), compilare dal sorgente o utilizzare uno strumento come pyenv.
  • La maggior parte delle distribuzioni dovrebbe avere libfuse abilitato/installato per impostazione predefinita. Utilizzare il gestore di pacchetti se non lo è.
  • Installare ninf con python3 -m pip install --upgrade --user https://github.com/ihaveamac/ninfs/archive/2.0.zip
    • --user non è necessario se si utilizza un ambiente virtuale.
  • È possibile aggiungere una voce desktop con  python3 -m ninfs --install-desktop-entry. Se desideri eseguire l’installazione in una posizione diversa da quella predefinita($XDG_DATA_HOME), puoi aggiungere un altro argomento con un percorso come /usr/local/share.
  • Per utilizzare la GUI, tkinter deve essere installato. Sui sistemi basati su Debian/Ubuntu questo è python3-tk. Su Fedora questo è python3-tkinter.

Utilizzo

Interfaccia grafica utente

È possibile utilizzare una GUI specificando il tipo da utilizzare gui (ad es. Windows:  py -3 -mninfs gui, *nix:  python3 -mninfs gui). La GUI controlla il montaggio e lo smontaggio.

Riga di comando

Eseguire uno script di montaggio utilizzando mount_<type> (ad esempio  mount_cci game.3ds mountpoint). Utilizzare  -h per visualizzare gli argomenti per uno script.

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

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

I contenuti dell’unità sviluppatore sono crittografati con chiavi diverse, che possono essere utilizzate  --dev con CCI, CDN, CIA, NANDCTR, NCCH e SD.

Smontaggio

  • Windows: Premere  Ctrl +  C nel prompt dei comandi/nella finestra di PowerShell.
  • macOS: Due metodi:
    • Fare clic con il tasto destro del mouse sulla montatura e scegliere “Espelli” nome unità “”.
    • Eseguire dal terminale: diskutil unmount /path/to/mount
  • Linux: Eseguire dal terminale: fusermount -u /path/to/mount

Esempi

  • Scarica la scheda di gioco 3DS:
    mount_cci game.3ds mountpoint
  • Contenuti scaricati da CDN:
    mount_cdn cdn_directory mountpoint
  • Contenuti CDN con una chiave del titolo decifrata specifica:
    mount_cdn --dec-key 3E3E6769742E696F2F76416A65423C3C cdn_directory mountpoint
  • CIA:
    mount_cia game.cia mountpoint
  • ExeFS:
    mount_exefs exefs.bin mountpoint
  • Backup NAND 3DS con  essential.exefs incorporato:
    mount_nandctr nand.bin mountpoint
  • Backup 3DS NAND con un file OTP (il contatore viene generato automaticamente):
    mount_nandctr --otp otp.bin nand.bin mountpoint
  • Backup NAND 3DS con file OTP e CID:
    mount_nandctr --otp otp.bin --cid nand_cid.bin nand.bin mountpoint
  • Backup NAND 3DS con file OTP e una stringa esadecimale CID:
    mount_nandctr --otp otp.bin --cid 7468616E6B7334636865636B696E6721 nand.bin mountpoint
  • Backup NAND DSi (il contatore viene generato automaticamente):
    mount_nandtwl --console-id 5345445543454D45 nand_dsi.bin mountpoint
  • Backup NAND DSi con una stringa esadecimale ID console e una stringa esadecimale CID specificata:
    mount_nandtwl --console-id 5345445543454D45 --cid 576879446F657344536945786973743F nand_dsi.bin mountpoint
  • Backup NAND DSi con un file ID console e file CID specificato:
    mount_nandtwl --console-id ConsoleID.bin --cid CID.bin nand_dsi.bin mountpoint
  • Backup NAND di iQue Player:
    mount_nandbb nand.bin mountpoint
  • Cambia backup NAND:
    mount_nandhac --keys prod.keys rawnand.bin mountpoint
  • Cambia backup NAND in più parti:
    mount_nandhac --keys prod.keys -S rawnand.bin.00 mountpoint
  • Cambia il dump della partizione crittografata NAND:
    mount_nandhac --keys prod.keys --partition SYSTEM SYSTEM.bin mountpoint
  • Contenitore NCCH (.app, .cxi, .cfa, .ncch):
    mount_ncch content.cxi mountpoint
  • RomFS:
    mount_romfs romfs.bin mountpoint
  • Nintendo 3DS directory da una scheda SD:
    mount_sd --movable movable.sed "/path/to/Nintendo 3DS" mountpoint
  • Nintendo 3DS directory da una scheda SD con una stringa esadecimale della chiave SD:
    mount_sd --sd-key 504C415900000000504F4B454D4F4E21 "/path/to/Nintendo 3DS" mountpoint
  • Immagine ROM Nintendo DS (NDS/SRL,  mount_nds funziona anche):
    mount_srl game.nds mountpoint
  • Applicazione homebrew 3DSX:
    mount_threedsx boot.3dsx mountpoint

Changelog

  • L’applicazione Mac ora è firmata e autenticata da Apple.
  • Corretto il problema con la mancata visualizzazione di tutte le lettere di unità nel montaggio della GUI di Windows, solo A e B.
  • Imposta sempre il bit di scrittura nei mount (tranne SD).
    • Questo rende più facile gestire i file che sono stati copiati dal mount, poiché chmod non sarà richiesto per impostare il bit di scrittura.
  • Includi la politica di accesso a Internet per Little Snitch.
  • Corretto il problema con la build DMG che non copiava correttamente l’applicazione.
  • Aggiornato l’URL di WinFSP.

Download: ninfs v2.0a9 (macOS)

Download: ninfs v2.0a9 (Win32 Installer)

Download: ninfs v2.0a9 (Win32)

Download: Source code ninfs v2.0a9

Fonte: github.com