Nintendo DS Cart Whitelist: Difference between revisions
Jump to navigation
Jump to search
Hallowizer (talk | contribs) →Basic File Structure: added basic info on NDHX and NDHI |
Hallowizer (talk | contribs) →NDHT entry: hash1 is definitely something with the main binary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
=== Header === | === Header === | ||
Each section starts with a 136 byte header. | |||
{| class="wikitable" | {| class="wikitable" | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
Line 44: | Line 44: | ||
| 0x08 | | 0x08 | ||
| 20 | | 20 | ||
| | | hash1 (HMAC covering parts of the main binary) | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| 20 | | 20 | ||
| | | hash2 (overlay?) | ||
|} | |} | ||
Line 72: | Line 72: | ||
|- | |- | ||
| 0x00 | | 0x00 | ||
| | | 4 | ||
| | | ROM serial | ||
|- | |||
| 0x04 | |||
| 4 | |||
| ROM revision | |||
|- | |||
| 0x08 | |||
| 20 | |||
| hash3 | |||
|} | |} | ||
Line 84: | Line 92: | ||
|- | |- | ||
| 0x00 | | 0x00 | ||
| | | 4 | ||
| Unknown | | ROM serial | ||
|- | |||
| 0x04 | |||
| 4 | |||
| ROM revision | |||
|- | |||
| 0x08 | |||
| 64 | |||
| 8 HMAC region struct | |||
{| class="wikitable" | |||
! Start | |||
! Length | |||
! Description | |||
|- | |||
| 0x0 | |||
| 4 | |||
| Unknown (offset?) | |||
|- | |||
| 0x4 | |||
| 4 | |||
| Unknown (length?) | |||
|} | |||
|- | |||
| 0x48 | |||
| 20 | |||
| Expected HMAC | |||
|} | |} |
Latest revision as of 04:02, 26 September 2022
The Nintendo DS Cart Whitelist is a system title (HNHA / 0003000f484e4841) on DSi and 3DS TWL_MODE that contains a list of whitelisted DS carts. Other carts can be loaded if they have a valid RSA signature, which is how newer DS games load on DSi systems.
Format
Newer versions of the file contain 3 sections: NDHT, NDHX, and NDHI. Older versions only contain NDHT.
Header
Each section starts with a 136 byte header.
Start | Length | Description |
---|---|---|
0x00 | 4 | Section type (NDHT, NDHX, NDHI) |
0x04 | 0x80 | RSA signature of the entire section below this point. |
0x84 | 4 | Number of entries |
NDHT entry
NDHT entries correspond to titles and are 48 bytes. The NDHT section is always first.
Start | Length | Description |
---|---|---|
0x00 | 4 | ROM serial |
0x04 | 4 | ROM revision |
0x08 | 20 | hash1 (HMAC covering parts of the main binary) |
0x1C | 20 | hash2 (overlay?) |
The NDHT footer is 24 bytes.
Start | Length | Description |
---|---|---|
0x00 | 24 | Unknown |
NDHX entry
Start | Length | Description |
---|---|---|
0x00 | 4 | ROM serial |
0x04 | 4 | ROM revision |
0x08 | 20 | hash3 |
NDHI entry
Start | Length | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | 4 | ROM serial | |||||||||
0x04 | 4 | ROM revision | |||||||||
0x08 | 64 | 8 HMAC region struct
| |||||||||
0x48 | 20 | Expected HMAC |