DSiWare Exports: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
The DSiWare exported from a 3DS is located at "[[SD_Filesystem|sdmc]]:/Nintendo 3DS/<ID0>/<ID1>/Nintendo DSiWare". Filenames are same format as DSi: "<TitleID-Low>.bin". The keys/format for these files are completely different from [http://dsibrew.org/wiki/Tad DSi]. Like DSi, 3DS DSiWare exports seem to use [http://dsibrew.org/wiki/ES_block_encryption ES] block encryption. The below sizes include the 0x20-byte ES block metadata.
The DSiWare exported from a 3DS is located at "[[SD_Filesystem|sdmc]]:/Nintendo 3DS/<ID0>/<ID1>/Nintendo DSiWare". Filenames are same format as DSi: "<TitleID-Low>.bin". The keys/format for these files are completely different from [http://dsibrew.org/wiki/Tad DSi]. The below sizes include the 0x20-byte block metadata.


DSiWare exported from 3DS are encrypted using the same [[Nand/private/movable.sed|keyslot]] used for encrypting other 3DS [[SD_Filesystem|SD]] card data.
DSiWare exported from 3DS use [[Nand/private/movable.sed|keyslots]] initialized by movable.sed, these exports are encrypted with AES-CTR.


=File structure=
=Block Metadata=
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x10
| AES MAC
|-
| 0x10
| 0x10
| CTR
|}
 
Each section begins with the actual encrypted data, followed by this block metadata.
 
=File Structure=
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 12: Line 30:
| 0x0
| 0x0
| 0x4020
| 0x4020
| Banner?
| Banner section
|-
|-
| 0x4020
| 0x4020
| 0xA0
| 0xA0
| Header?
| Header section
|-
|-
| 0x40C0
| 0x40C0
| 0x400
| 0x400
| Footer?
| Footer section
|-
|-
| 0x44C0
| 0x44C0
|  
|  
| Data for the content sections is stored here, where each section is encrypted under separate ES blocks.
| Data for the 4 content sections are stored here.
|}
|}