In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Bootmii/NAND dump format"

From WiiBrew
Jump to navigation Jump to search
m
(split up keys and nand information)
Line 1: Line 1:
 +
== nand.bin ==
 +
 
BootMii creates a 553649152-byte NAND dump called "nand.bin" on your SD card. It is formatted as:
 
BootMii creates a 553649152-byte NAND dump called "nand.bin" on your SD card. It is formatted as:
  
Line 4: Line 6:
 
* A 1024-byte footer with keying information
 
* A 1024-byte footer with keying information
  
Specifically, the format of that 1024-byte footer is:
+
Specifically, the format is the say format as keys.bin
 
 
* 256 bytes of human-readable information (e.g. "BackupMii v1\nConsole ID: 0408cafa"), padded with null bytes
 
* 128 bytes of OTP data (copied directly from OTP)
 
  
* 128 bytes of padding
+
== keys.bin ==
* 256 bytes of SEEPROM data (copied directly from OTP)
+
BootMii used to dump the keys to a separate file from the nand dump. this was later moved to the nand dump itself, but the format stayed the same.
* 256 bytes of padding
+
it is as following :
 +
<source lang="c">
 +
typedef struct {
 +
  u8 header[256]; // 256 bytes of human-readable information (e.g. "BackupMii v1\nConsole ID: badcafe0"), padded with null bytes
 +
  u8 otp[128];        // 128 bytes of OTP data (copied directly from OTP)
 +
  u8 padding[128];    // padding
 +
  u8 seeprom[256];    // 256 bytes of SEEPROM data (copied directly from OTP)
 +
  u8 padding2[256];    // padding
 +
} keys_bin; // size: 0x400 bytes
 +
</source>
  
 
[[Category:File formats]]
 
[[Category:File formats]]

Revision as of 21:11, 16 May 2022

nand.bin

BootMii creates a 553649152-byte NAND dump called "nand.bin" on your SD card. It is formatted as:

  • 4096 * 64 pages of (2048 + 64) bytes of data + ECC
  • A 1024-byte footer with keying information

Specifically, the format is the say format as keys.bin

keys.bin

BootMii used to dump the keys to a separate file from the nand dump. this was later moved to the nand dump itself, but the format stayed the same. it is as following :

 typedef struct {
   u8 header[256];		// 256 bytes of human-readable information (e.g. "BackupMii v1\nConsole ID: badcafe0"), padded with null bytes
   u8 otp[128];         // 128 bytes of OTP data (copied directly from OTP)
   u8 padding[128];     // padding
   u8 seeprom[256];     // 256 bytes of SEEPROM data (copied directly from OTP)
   u8 padding2[256];    // padding
} keys_bin; 			// size: 0x400 bytes