Extdata

From 3dbrew
Revision as of 09:13, 20 January 2012 by Yellows8 (talk | contribs)
Jump to navigation Jump to search

This page describes the format and crypto of extdata, "extra data" and StreetPass data stored on SD card. 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. 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. Most extdata uses the same FS as savegames, except extdata uses DIFF instead of DISA. However some extdata files are raw, without any FS.