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.