NAND Usage Guide: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
No edit summary
(→‎Extracting NAND files on Linux: Added command for Linux step 2 (untested))
Line 15: Line 15:
=== Extracting NAND files on Linux ===
=== Extracting NAND files on Linux ===
# '''Extract''' the AES IV from keys.bin: <code>dd if=keys.bin of=aes-iv bs=1 skip=360 count=16</code>
# '''Extract''' the AES IV from keys.bin: <code>dd if=keys.bin of=aes-iv bs=1 skip=360 count=16</code>
# '''Extract''' the per-console NAND key from keys.bin.
# '''Extract''' the per-console NAND key from keys.bin: <code>dd if=keys.bin of=nand-key bs=1 skip=376 count=16</code>
# '''Decrypt''' the NAND image: <code>openssl enc -d -aes-128-cbc -in nand.bin -out nand-decrypted.bin -K $(hexdump -v -e '/1 "%02X"' < nand-key) -iv $(hexdump -v -e '/1 "%02X"' < aes-iv) -nopad</code>
# '''Decrypt''' the NAND image: <code>openssl enc -d -aes-128-cbc -in nand.bin -out nand-decrypted.bin -K $(hexdump -v -e '/1 "%02X"' < nand-key) -iv $(hexdump -v -e '/1 "%02X"' < aes-iv) -nopad</code>
# '''Unpack''' the decrypted NAND image using zestig.
# '''Unpack''' the decrypted NAND image using zestig.

Revision as of 20:00, 14 June 2020

NAND Flash Memory is the built in memory of the Wii console. It houses save data, downloaded channels, and the Wii Menu. Some games may require files only found in a full NAND dump to work correctly. The easiest way to do that is with BootMii. For alternate methods, see the forum thread.

Dumping NAND with BootMii

BootMii Dumping

To dump NAND with BootMii, you'll need:

  • A homebrewed console with BootMii installed
  • A SD card

Access BootMii through the Homebrew Channel. Use a GameCube Controller or the Power and Reset buttons to navigate through the BootMii menus, as detailed here. Select Options (gears icon) on the far right. Select Backup NAND (Green arrow from chip to the SD card), and wait until it completes. Once completed, remove the SD card and put it into your system. You should see a file named nand.bin on the SD Card. If you do, your NAND has been backed up.

Automatic Import with Dolphin 5.0-3416 or newer

Select Tools > Import BootMii NAND Backup. Dolphin will decrypt and unpack the NAND. Device credentials and system files required for network services emulation will also be extracted automatically.

Manual Import

Extracting NAND files on Linux

  1. Extract the AES IV from keys.bin: dd if=keys.bin of=aes-iv bs=1 skip=360 count=16
  2. Extract the per-console NAND key from keys.bin: dd if=keys.bin of=nand-key bs=1 skip=376 count=16
  3. Decrypt the NAND image: openssl enc -d -aes-128-cbc -in nand.bin -out nand-decrypted.bin -K $(hexdump -v -e '/1 "%02X"' < nand-key) -iv $(hexdump -v -e '/1 "%02X"' < aes-iv) -nopad
  4. Unpack the decrypted NAND image using zestig.

Extracting NAND files on Windows

Use NAND Tools consisting of the followings to extract the files from nand.bin:

  • cmd.lnk
  • nand-aes-dump.c
  • nand-aes-dump.exe
  • NAND-bin2raw.exe
  • zestig.exe

Place nand.bin and keys.bin you've acquired from the last section into the working directory, then open cmd.lnk (A shortcut file that will open %windir%\system32\cmd.exe into shortcut's current directory) then do the required steps:

Step # Code to enter Explanation
1 nand-aes-dump.exe It will extract your AES key from your nand.bin into a file called nand-key.bin.
2 NAND-bin2raw.exe nand.bin nand_dec.bin It will start the decrypting process and you should now have 2 bin files: encrypted and decrypted nand dump.
  • The command prompt window may appear silent. This takes a while depending on your storage performance.
3 zestig.exe nand-key.bin nand_dec.bin nand It will extract everything from nand_dec.bin and place them into a new folder called "nand".
4 exit It will close command prompt.

The new folder \nand\ will be created in the working directory.

Placing the NAND files into Dolphin

  1. Dolphin versions before 5.0-4416 can't take the original SYSCONF file from real consoles, it has its own specially made SYSCONF file in \Wii\shared2\sys\. Use it to overwrite on top of the original SYSCONF file in \nand\shared2\sys\ (under NAND tools' working directory).
  2. Finally, place everything from \nand\ into the \Wii\ subdirectory.