DSiWare Exports: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 48: | Line 48: | ||
| Data for the 4 content sections are stored here. | | Data for the 4 content sections are stored here. | ||
| AES-CTR | | AES-CTR | ||
|} | |||
=Header= | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x38 | |||
| Unknown | |||
|- | |||
| 0x38 | |||
| 0x8 | |||
| TWL TitleID for the exported title. | |||
|- | |||
| 0x40 | |||
| 0x60 | |||
| ? | |||
|} | |||
=Footer= | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0xD0 | |||
| Hashes? | |||
|- | |||
| 0xD0 | |||
| 0xE0 | |||
| Normally all-zero? | |||
|- | |||
| 0x1B0 | |||
| 0x20 | |||
| SHA256 hash? | |||
|- | |||
| 0x1D0 | |||
| 0x20 | |||
| Normally all-zero? | |||
|- | |||
| 0x1F0 | |||
| 0x3C | |||
| ECDSA signature over the previous data, signed by the AP cert? | |||
|- | |||
| 0x22C | |||
| 0x180 | |||
| ECDSA "APXXXXXXXXXXXXXXXX" cert signed by the [[CTCert]], where X is random ASCII hex data. | |||
|- | |||
| 0x3AC | |||
| 0x54 | |||
| ECDSA certificate, the last 0x14-bytes here are all-zero. | |||
|} | |} |
Revision as of 17:26, 22 April 2013
The DSiWare exported from a 3DS is located at "sdmc:/Nintendo 3DS/<ID0>/<ID1>/Nintendo DSiWare". Filenames are same format as DSi: "<TitleID-Low>.bin". The below sizes include the 0x20-byte block metadata.
DSiWare exported from 3DS use keyslots initialized by movable.sed.
Block Metadata
Offset | Size | Description |
---|---|---|
0x0 | 0x10 | AES MAC |
0x10 | 0x10 | CTR for AES-CTR / IV for AES-CBC, generated by the RNG. |
Each section begins with the actual encrypted data, followed by this block metadata.
File Structure
Offset | Size | Description | Algorithm Type |
---|---|---|---|
0x0 | 0x4020 | Banner section | AES-CBC |
0x4020 | 0xC0 | Header section | AES-CBC |
0x40E0 | 0x420 | Footer section | AES-CBC |
0x4500 | Data for the 4 content sections are stored here. | AES-CTR |
Header
Offset | Size | Description |
---|---|---|
0x0 | 0x38 | Unknown |
0x38 | 0x8 | TWL TitleID for the exported title. |
0x40 | 0x60 | ? |
Offset | Size | Description |
---|---|---|
0x0 | 0xD0 | Hashes? |
0xD0 | 0xE0 | Normally all-zero? |
0x1B0 | 0x20 | SHA256 hash? |
0x1D0 | 0x20 | Normally all-zero? |
0x1F0 | 0x3C | ECDSA signature over the previous data, signed by the AP cert? |
0x22C | 0x180 | ECDSA "APXXXXXXXXXXXXXXXX" cert signed by the CTCert, where X is random ASCII hex data. |
0x3AC | 0x54 | ECDSA certificate, the last 0x14-bytes here are all-zero. |