SD title export: Difference between revisions

No edit summary
Hiccup (talk | contribs)
m Hiccup moved page Tad to SD title export
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The System Settings application delivered with each DSi can be used to export applications from NAND to SD. The bin files created on SD are using the Tad file structure. Tad files are encrypted with AES CCM (CTR with CBC-MAC), using a combination of a shared key and a console specific key.
The System Settings application delivered with each DSi can be used to export applications from NAND to SD. The bin files created on SD are using the following file structure. They are encrypted with AES CCM (CTR with CBC-MAC), using a combination of a shared key and a console specific key.


The application itself (APP), and the title metadata (TMD) is encrypted with a console specific key. This means that Nintendo intended that these files can only be imported back into the same DSi.
The application itself (APP), and the title metadata (TMD) is encrypted with a console specific key. This means that Nintendo intended that these files can only be imported back into the same DSi.
Line 7: Line 7:
[[ES block encryption]] is used to encrypt the header block, footer block, and the 11 content parts. Each are their own seperate ES blocks.
[[ES block encryption]] is used to encrypt the header block, footer block, and the 11 content parts. Each are their own seperate ES blocks.


= Tad file structure overview =
= File structure overview =


{| class="wikitable"
{| class="wikitable"
Line 16: Line 16:
|-
|-
| 0x0
| 0x0
| 0x4020 ?
| 0x4020
| Banner/Icon
| Banner/Icon
|-
|-
| 0x4020
| 0x4020
| 0xB4
| 0xD4
| Header
| Header
|-
|-
Line 32: Line 32:
|}
|}


The banner, header, footer and savegame are encrypted with a shared key between each DSi. The other content parts are encrypted with a console specific key.  
The banner, header, footer and savegame are encrypted with a shared key between each DSi. The other content parts are encrypted with a console specific key.


= Header block @ 0x4020 (size 0xB4) =  
= Header block @ 0x4020 (size 0xB4) =  
Line 78: Line 78:
| 0x10
| 0x10
| 16
| 16
| Extracted from HWINFO_N.dat
| Console ID from HWINFO_N.dat
|-
|-
| 0x20
| 0x20