[SWITCH] NxNandManager V4.0 Released

The developer Eliboa has released a new tool to facilitate the backup of the Nintendo Switch console Nand in NxNandManager with version 4.0.NxNandManager is a command line utility (and GUI) for Windows 7 and 10, whose main purpose is to copy Nintendo Switch content (full NAND or specific partition) from / to a file or physical drive.

Features

  • Full NAND backup and restore (BOOT0, BOOT1, RAWNAND)
  • Copy to / from specific partition (RAWNAND)
  • Dump integrity verification (MD5)
  • Enable / Disable Automatic RCM (BOOT0)

Compatibility

All dumps performed with Hekate are supported by NxNandManager (and vice versa).

NxNM also supports split dumps (such as SX operating system NAND dumps (emu)).
The names of the divided files should be:
basename[00->99].(bin|.*)o  basename[0->9].(bin|.*)o  basename.[0->∝]
Set the first divided file as input

How to mount and open your Nintendo Switch NAND?

  1. Use  memloader  v3 to mount eMMC on your computer (  TegraRcmGUI  provides an easy way to do it).
  2. Open NxNandManager (CLI: add topic – list to list all available physical drives, GUI: File> Open Drive).
  3. Select the mounted unit. Now you can perform backup / restore operations.

I use CLI

NxNandManager.exe [--list] [--info] [--enable_autoRCM] [--disable_autoRCM] -i inputFilename|\\.\PhysicalDriveX [-o outputFilename|\\.\PhysicalDriveX] [-part=nxPartitionName] [lFlags]

arguments Description Example
-gui Launch the graphical user interface (optional) --gui
-Information Displays detailed information about the input (-i) and output (-o) streams --info -i rawnand.bin
-list Lists compatible physical drives --list
-enable_autoRCM Enable auto-RCM for the BOOT0 partition indicated with -i param --enable_autoRCM -i BOOT0
--enable_autoRCM -i "C:\some dir\BOOT0"
--enable_autoRCM -i \\.\PhysicalDrive3
-disable_autoRCM Disables auto-RCM for the BOOT0 partition indicated with -i param --disable_autoRCM -i BOOT0
--disable_autoRCM -i "C:\some dir\BOOT0"
--disable_autoRCM -i \\.\PhysicalDrive3
-I Path to insert the file or physical drive -i rawnand.bin
-i "C:\some dir\rawnand.bin"
-i \\.\PhysicalDrive3
-or Path to output file or physical drive -o rawnand.bin
-o \\.\PhysicalDrive3
-part = Copy to / from a specific NAND partition (optional) -part=PRODINFO
-part=BCPKG2-2-Normal-Sub
LFLAGS Description
BYPASS_MD5SUM Used to bypass all checks MD5
Dump / Restore is faster but less secure
FORCE The program will never ask for user confirmation

Examples

Download the complete NAND on file

  • From physical disk (first you need to mount NX eMMC with  memloader  (via  TegraRcmGUI  for ex):
    .\NxNandManager.exe -i \\.\PhysicalDrive3 -o "C:\Users\Public\NAND dump\rawnand.bin"
  • From the existing dump file:
    .\NxNandManager.exe -i "C:\Users\Public\NAND dump\rawnand.bin" -o D:\rawnand2.bin

Dump specific partitions to files

  • Dump the SYSTEM partition from the physical drive:
    .\NxNandManager.exe -i \\.\PhysicalDrive3 -o "C:\Users\Public\NAND dump\SYSTEM.bin" -part=SYSTEM
  • Extract the PRODINFOF partition from the existing dump file:
    .\NxNandManager.exe -i "C:\Users\Public\NAND dump\rawnand.bin" -o D:\PRODINFOF.bin -part=PRODINFOF

Reset NAND dump

  • Restore entire raw NAND memory to physical drive:
    .\NxNandManager.exe -i "C:\Users\Public\NAND dump\rawnand.bin" -o \\.\PhysicalDrive3
  • Restore raw NAND memory split into physical drive:
    .\NxNandManager.exe -i "C:\Users\Public\NAND dump\full00.bin" -o \\.\PhysicalDrive3
  • Restore specific partition to physical disk:
    .\NxNandManager.exe -i "C:\Users\Public\NAND dump\rawnand.bin" -o \\.\PhysicalDrive3 -part=PRODINFO
    o
    .\NxNandManager.exe -i "C:\Users\Public\NAND dump\PRODINFO" -o \\.\PhysicalDrive3 -part=PRODINFO

Copy the partition from the file to the rawNand file

  • Copy specific partition from rawNand file:
    .\NxNandManager.exe -i "C:\Users\Public\NAND dump\rawnand.bin" -o "C:\Users\Public\NAND dump\rawnand2.bin" -part=BCPKG2-1-Normal-Main
  • Copy specific partition from partition file:
    .\NxNandManager.exe -i "C:\Users\Public\NAND dump\BCPKG2-1-Normal-Main" -o "C:\Users\Public\NAND dump\rawnand2.bin" -part=BCPKG2-1-Normal-Main

New GUI

  • New GUI layout
    pNG
  • New “advanced copy” function (zero passthrough, split output, zip output, etc.)
    pNG
  • The new “Emunand Creation Tool” (GUI only) provides an easy way to create a file based emuNAND or raw file based emuNAND on a micro SD card. NB: before you can launch the tool from the Options menu, you will need to open a valid RAWNAND or FULL NAND image.
    pNG
  • GUI: you can now choose to open  any  emuMMC partition, in case of multiple emuMMC on the same micro SD card (Open Drive, CTRL + D)
  • many corrections and improvements.

PS: For personal reasons, I will have less time in the future to work on this project. You will need to be patient for the next version or for error correction.

CLI usage:

Use the  -dargument to decrypt,  -eto encrypt.

Keys can be supplied  -keysetfrom the argument to the keyset file name.
The program can analyze keyset files created with biskeydump or lockpick:

   BIS Key 0 (crypt): <16-byte hex key>
   BIS Key 0 (tweak): <16-byte hex key>
   ...

or

   bis_key_00 = <32-byte hex key>
   bis_key_01 = <32-byte hex key>
   ...

Examples

Decipher complete rawn:
NxNandManager.exe -i rawnand.bin -o rawnand.dec -d -keyset keys.dat

Decrypting the single partition file:
NxNandManager.exe -i PRODINFO -o PRODINFO.dec -d -keyset keys.dat

Encrypt single partition files:
NxNandManager.exe -i PRODINFO.dec -o PRODINFO.enc -e -keyset keys.dat

Decrypt and restore a single partition file on the physical drive
NxNandManager.exe -i PRODINFO.dec -o \\.\PhysicalDrive3 -part=PRODINFO -e -keyset keys.dat

Encrypt and restore full rawnand
NxNandManager.exe -i rawnand.dec -o \\.\PhysicalDrive3 -e -keyset keys.dat

GUI:

The GUI has been updated to support cryptographic operations.
Keys can be added via the “Configure keyset” item in the “Options” menu

Incognito

An “incognito” option has been implemented. As the  incognito  of blawar does, it will erase all the unique console IDs and certificates from CAL0. It can be useful because Atmosphere prevents writing to CAL0.

The program will need two keys to apply the unknown on encrypted files / drives

Using the CLI: to apply the unknown, use the  --incognitoargument (applies to the  -itype of input: RAWNAND or PRODINFO). For example :NxNandManager.exe --incognito -i rawnand.bin -d -keyset keys.dat

GUI: use the appropriate item in the “Options” menu

Various

  • When the keys are provided or if the content is already decrypted, the program can retrieve further information (CLI :,  --infoGUI: File> Properties)
    • ExFat firmware and driver version (based on the names of the .nca and SYSTEM files, exactly like  FVI  , or from the journal / play reports in SYSTEM)
    • Serial number (from PRODINFO or journal in SYSTEM)
    • Last boot time (the  SYSTEM/save/8000000000000060same way FVI does)
  • The bootloader version is now retrieved from BOOT0
  • The program prevents the system from going into sleep mode when copying is in progress.

Changelog

The following has been changed since the latest version:

  • The Emunand creation tool has been implemented for the use of the CLI
  • The list of ANCs has been updated for better firmware detection (thanks to  @ shadow2560  and  @throwawayay  )
  • Firmware detection update (from pckg1ldr header)

Bug fixes:

  • AutoRCM was broken. One byte in each of the BCTs is now XOR.
  • Copy failed during dump via Nyx UMS tool (emuMMC)
  • Fixed a critical bug caused by an unsized copy buffer when dividing the output file into chunks
  • GUI: Data integrity validation for the full dump was missing
  • CLI: display of the remaining time not working (reset)
  • # 26  : Selecting the nand image file was not possible in the Emunand Creation Tool
  • # 27  : by default, the program was not running with elevated permissions

Download

Source
Github