Difference between revisions of "Bootmii/NAND dump format"
< Bootmii
Jump to navigation
Jump to search
Randomdude (talk | contribs) 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 | + | 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 : | |
+ | <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