NAND Usage Guide: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
(Updated with some better instructions)
(Replaced dead link)
(28 intermediate revisions by 9 users not shown)
Line 1: Line 1:
'''''NAND Flash Memory''''' is the built in memory of the Wii console. It houses save data, [[:Category:Wii Channels|downloaded channels]], and the [[System 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 [http://forums.dolphin-emu.org/Thread-howto-nand-dumping-a-comprehensive-guide forum thread].  
'''''NAND Flash Memory''''' is the built in memory of the Wii console. It houses save data, [[:Category:Wii Channels|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 [http://forums.dolphin-emu.org/Thread-howto-nand-dumping-a-comprehensive-guide forum thread].  


== Dumping NAND with BootMii==
== Dumping NAND with BootMii==
[[File:BootMii_Dumping.png|200px|thumb|right|BootMii Dumping]]
To dump NAND with BootMii, you'll need:
To dump NAND with BootMii, you'll need:
*A homebrewed console with BootMii installed
*A homebrewed console with [https://bootmii.org/download/ BootMii] installed
*A SD card
*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 [http://www.bootmii.org/faq/ 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.
Access BootMii through the '''Homebrew Channel'''. Use a GameCube Controller or the Power and Reset buttons to navigate through the BootMii menus, as detailed [https://bootmii.org/faq/ 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.


== Placing the NAND files into Dolphin ==
== Automatic Import with Dolphin 5.0-3416 or newer ==
*Use [http://forums.dolphin-emu.org/attachment.php?aid=1383 NAND Tools] to extract the files from NAND.bin.
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.
*Place the files ''User/Wii/'' subdirectory. '''DO NOT''' replace the '''User/Wii/shared2/sys/SYSCONF''' file. Dolphin has it's own, unique SYSCONF file, and overwriting it with the one from your NAND dump will confuse Dolphin.


== Help ==
== Manual Import ==
For help and further instructions, ask on the [forums.dolphin-emu.org/ forums].
If you are unable to import your NAND automatically, are using Dolphin on an Android/iOS device, or simply wish to browse the contents without installing to Dolphin, then here are steps to manually extract your NAND.
*Note that a manually imported NAND does not work with [[Wiimmfi]]; you must follow the instructions in '''Automatic Import''' instead. If your Dolphin version does not have this option, update to a newer build.
 
=== 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 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>
# '''Unpack''' the decrypted NAND image using zestig. The zestig source code can be downloaded [https://wiibrew.org/wiki/Segher%27s_Wii.git from here].
 
=== Extracting NAND files on Windows ===
Use [http://forums.dolphin-emu.org/attachment.php?aid=1383 NAND Tools] to extract the files from '''nand.bin'''. This package includes the following:
*cmd.lnk
*nand-aes-dump.c
*nand-aes-dump.exe
*NAND-bin2raw.exe
*zestig.exe
 
Place the files '''nand.bin''' and '''keys.bin''' that you've acquired from the last section into the working directory, open '''cmd.lnk''' (A shortcut file that will open a command prompt in the current directory), and then type the following commands into the prompt:
 
{| class="wikitable"
|-
!|Step #
!|Command
!|Description
|-
| 1
| nand-aes-dump.exe
| Extracts the AES key from your nand.bin into a file called nand-key.bin.
|-
| 2
| NAND-bin2raw.exe nand.bin nand_dec.bin
| Performs decryption on nand.bin, and writes the output to a file named nand_dec.bin
*The command prompt window will appear silent. This may take a while depending on your storage performance.
|-
| 3
|style=white-space:nowrap| zestig.exe nand-key.bin nand_dec.bin nand
| Extracts everything from nand_dec.bin and places it into a new folder called "nand".
|-
| 4
| exit
| Closes your command prompt.
|}
After this is finished, a new folder <var>\nand\</var> should be created in the working directory.
 
=== Placing the NAND files into Dolphin ===
# Dolphin versions before {{revision|5.0-4416}} can't take the original '''SYSCONF''' file from real consoles, it has its own specially made SYSCONF file in <var>\Wii\shared2\sys\</var>. Use it to overwrite on top of the original SYSCONF file in <var>\nand\shared2\sys\</var> (under NAND tools' working directory).
# Finally, place everything from inside <var>\nand\</var> into the <var>\Wii\</var> subdirectory.


[[Category:Tutorials]]
[[Category:Tutorials]]

Revision as of 11:48, 23 September 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

If you are unable to import your NAND automatically, are using Dolphin on an Android/iOS device, or simply wish to browse the contents without installing to Dolphin, then here are steps to manually extract your NAND.

  • Note that a manually imported NAND does not work with Wiimmfi; you must follow the instructions in Automatic Import instead. If your Dolphin version does not have this option, update to a newer build.

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. The zestig source code can be downloaded from here.

Extracting NAND files on Windows

Use NAND Tools to extract the files from nand.bin. This package includes the following:

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

Place the files nand.bin and keys.bin that you've acquired from the last section into the working directory, open cmd.lnk (A shortcut file that will open a command prompt in the current directory), and then type the following commands into the prompt:

Step # Command Description
1 nand-aes-dump.exe Extracts the AES key from your nand.bin into a file called nand-key.bin.
2 NAND-bin2raw.exe nand.bin nand_dec.bin Performs decryption on nand.bin, and writes the output to a file named nand_dec.bin
  • The command prompt window will appear silent. This may take a while depending on your storage performance.
3 zestig.exe nand-key.bin nand_dec.bin nand Extracts everything from nand_dec.bin and places it into a new folder called "nand".
4 exit Closes your command prompt.

After this is finished, a new folder \nand\ should 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 inside \nand\ into the \Wii\ subdirectory.