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.
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
Start
|
Length
|
Description
|
0x0
|
4
|
Unknown (offset?)
|
0x4
|
4
|
Unknown (length?)
|
|
0x48
|
20
|
Expected HMAC
|