Changes

214 bytes added ,  08:41, 9 March 2012
no edit summary
Line 1: Line 1:  
This page describes the format and encryption of extdata, "extra data" stored on [[SD_Filesystem|SD card]] and NAND.
 
This page describes the format and encryption of extdata, "extra data" stored on [[SD_Filesystem|SD card]] and NAND.
At /Nintendo 3DS/<SomeID>/<SomeID>/extdata/00000000 on SD is directories for each title. Some titles have Quota.dat stored in these directories, not all titles use it. Then there's a sub-directory 00000000, which contains the actual extdata. Size and number of files in this dir varies per title.
+
At /Nintendo 3DS/<SomeID>/<SomeID>/extdata/<ExtdataIDHigh> on SD is directories for each title.(ExtdataIDHigh seems to be always 00000000) Some titles have Quota.dat stored in these directories, not all titles use it. The dirname for these directories is the ExtdataIDLow. Then there's a sub-directory 00000000, which contains the actual extdata. Size and number of files in this dir varies per title.
    
=== Encryption ===
 
=== Encryption ===
   −
These files are encrypted with AES-CTR. The key is unknown, this is console-unique. The CTR includes the titleID and filename. The base CTR is fixed: the CTR never changes after each write. Thus it is possible to obtain some cleartext by XORing one file(like newly created extdata) with a newer file, where the newer file overwrote zeros in the original file with non-zero data.
+
These files are encrypted with AES-CTR. The key is unknown, this is console-unique. The CTR includes the ExtdataID and filename. The base CTR is fixed: the CTR never changes after each write. Thus it is possible to obtain some cleartext by XORing one file(like newly created extdata) with a newer file, where the newer file overwrote zeros in the original file with non-zero data.
    
=== Filesystem ===
 
=== Filesystem ===
Line 48: Line 48:     
=== Info on titles extdata ===
 
=== Info on titles extdata ===
 +
Usually the ExtdataID low is the titleID low shifted to the right by 8, but ExtdataIDs can be arbitrary.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
TitleID Low
+
ExtdataID Low
 
!  Region
 
!  Region
 
!  Description
 
!  Description