By entering this site you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services of the website. Kindly read the below message of use and consent to the use.
The following cookies are stored and shared when accessing this website:
- Internal cookies for the MediaWiki site. This is used for user authentication and article modifications.
- Third-party cookies from Google providing services for Google AdSense and Google Analytics
We will never use data collected outside of the above scope.
This page describes the format and crypto of extdata, "extra data" and StreetPass data stored on [[SD_Filesystem|SD card]].
This page describes the format and crypto of extdata, "extra data" and StreetPass data stored on [[SD_Filesystem|SD card]].
−
At /Nintendo 3DS/<SomeID>/<SomeID>/extdata/00000000 is directories for each title, with Quota.dat inside each dir. 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/00000000 is directories for each title, with Quota.dat inside each dir. Quota.dat doesn't exist for all titles. Then there's a sub-directory 00000000, which contains the actual extdata. Size and number of files in this dir varies per title.
−
These files are encrypted with AES-CTR. The key is unknown, this is console-unique and presumably title-unique. The base CTR is fixed: the CTR never changes after each write. Thus it is possible to obtain some cleartext by XORing one file with a newer file, where the newer file overwrote zeros in the original file with non-zero data. A bunch of 0x20-byte blocks, the same size as SHA256 hashes, change for each extdata change. These blocks are encrypted like the reset of the extdata, thus extdata likely can't be modified yet. Some Ridge Racer extdata from some replay data: https://gist.github.com/d6b646c581d386b4fa83
+
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 with a newer file, where the newer file overwrote zeros in the original file with non-zero data. A bunch of 0x20-byte blocks, the same size as SHA256 hashes, change for each extdata change. These blocks are encrypted like the reset of the extdata, thus extdata likely can't be modified yet. Some Ridge Racer extdata from some replay data: https://gist.github.com/d6b646c581d386b4fa83