Difference between revisions of "Extdata"

From 3dbrew
Jump to navigation Jump to search
(moved the list of extdataIDs from the SD_Filesystem page to here, and added some info.)
Line 55: Line 55:
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! ExtdataID Low
+
! JPN ExtdataID
! Region
+
! NA ExtdataID
 +
! EUR ExtdataID
 
!  Description
 
!  Description
 
|-
 
|-
 
| 00000082
 
| 00000082
| JPN
 
| Homemenu extdata
 
|-
 
 
| 0000008f
 
| 0000008f
| NA
 
| Homemenu extdata. These regions are based on languages, "NA" includes some EUR languages.
 
|-
 
 
| 00000098
 
| 00000098
| EUR
 
 
| Homemenu extdata
 
| Homemenu extdata
 
|-
 
|-
 +
| ?
 
| 000004aa
 
| 000004aa
| USA
+
| 000004ab
 
| Nintendo Video Extra Data
 
| Nintendo Video Extra Data
 
This is where the video files are stored, and [[Nintendo_Video|includes]] the thumbnail, the description, and possibly some checksum info in each video file stored in the extdata images. There are always 9 files within the subdirectory "00000000" of this folder, even without any videos downloaded. The files are "00000001" - "00000009", and "00000003" - "00000008" have the same filesize of 50.7 MB. It is possible to restore the older videos by overwriting all the files within this directory. Provided of course you have made a backup of the files before hand, by copying all the files within this directory to your computer. As far I'm aware its not possible to mix and match the files in order to get certain videos in one grouping, ie. having all 3 Zelda orchestral recordings in one group of 4 Nintendo videos.
 
This is where the video files are stored, and [[Nintendo_Video|includes]] the thumbnail, the description, and possibly some checksum info in each video file stored in the extdata images. There are always 9 files within the subdirectory "00000000" of this folder, even without any videos downloaded. The files are "00000001" - "00000009", and "00000003" - "00000008" have the same filesize of 50.7 MB. It is possible to restore the older videos by overwriting all the files within this directory. Provided of course you have made a backup of the files before hand, by copying all the files within this directory to your computer. As far I'm aware its not possible to mix and match the files in order to get certain videos in one grouping, ie. having all 3 Zelda orchestral recordings in one group of 4 Nintendo videos.
 
|-
 
|-
| 000004ab
+
| 00000207
| EUR
+
| 00000217
| Nintendo Video Extra Data
+
| 00000227
Same as USA NVideo extdata, except the format of the video files [[Nintendo_Video|metadata]] stored in the extdata images can differ slightly from the USA format.
+
| Mii Maker
 +
|-
 +
| 0000020d
 +
| 0000021d
 +
| 0000022d
 +
| Face Raiders
 +
|-
 +
| ?
 +
| 00000210
 +
| ?
 +
| Some [[2.0.0-2]] extdata. Since most extdataIDs are the titleIDLow>>8, this might be system settings?
 +
|-
 +
| 00000209
 +
| 00000219
 +
| 00000229
 +
| eShop
 +
|-
 +
| ?
 +
| ?
 +
| 0000030c
 +
| Nintendogs + Cats
 +
|-
 +
| ?
 +
| ?
 +
| 00000326
 +
| Pokédex 3D
 +
|-
 +
| ?
 +
| 0000032d
 +
| 0000033c
 +
| Super Street Fighter IV 3D
 +
|-
 +
| ?
 +
| 00000358
 +
| 0000033b
 +
| Ridge Racer 3D
 +
|-
 +
| ?
 +
| 0000034d
 +
| ?
 +
| Samurai Warriors Chronicles
 +
|-
 +
| ?
 +
| ?
 +
| 0000038a
 +
| Dead or Alive Dimensions
 +
|-
 +
| 00000481
 +
| ?
 +
| ?
 +
| Monster Hunter Tri G (Download-Quests)
 
|}
 
|}

Revision as of 22:05, 1 April 2012

This page describes the format and encryption of extdata, "extra data" stored on SD card and NAND. At /Nintendo 3DS/<SomeID>/<SomeID>/extdata/<ExtdataIDHigh> on SD is directories for each title.(ExtdataIDHigh is 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.

Regular apps can only mount SD/NAND extdata using the same extdataID which is stored in the CXI exheader. Therefore, regular apps which have the exheader extdataID set to zero can't use extdata. This restriction doesn't apply for shared extdata with extdataID high bitmask 0x48000 stored on NAND. System apps can mount arbitrary extdata. All NAND extdata is shared extdata, while all SD extdata is normal extdata. Thus, normal extdata doesn't exist on NAND, and shared extdata doesn't exist on SD. The extdataID high excluding that bitmask is always zero for shared extdata.

Encryption

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

Most extdata uses the same FS as savegames, except extdata uses DIFF instead of DISA. However some extdata files are raw, without any FS. Quota.dat uses the same encryption as extdata, and seems to use the same FS as the actual extdata. It's unknown whether Quota.dat is used anymore on the latest system version at all.

QUOT

  • This seems to be stored in Quota.dat FS somewhere?
Start Length Description
0x0 4 Magic ("QUOT")
0x4 4 Magic Number (0x30000)
0x8 8 Unknown
0x10 0x38 Unknown

Filesystem structure

When extdata is created, these are *always* created regardless of whether the title actually uses them. User extdata and SpotPass extdata use separate mount points at /user and /boss. Therefore one mount can't access the other directory, and also can't access /icon.(The title's SpotPass extdata can be mounted by the title itself, if it uses SpotPass)

  • /icon This file contains the extdata icon displayed in data management. This icon can only be written to by titles when creating extdata, titles would have to recreate extdata to change the icon. Reading this icon isn't done by directly reading the file, this is done by other means.
  • /user Contains the title's actual extdata files.
  • /boss Can contain SpotPass content. SpotPass content is *always* stored in SD extdata.

Info on titles extdata

Usually the ExtdataID low is the titleID low shifted to the right by 8, but ExtdataIDs can be arbitrary.

JPN ExtdataID NA ExtdataID EUR ExtdataID Description
00000082 0000008f 00000098 Homemenu extdata
? 000004aa 000004ab Nintendo Video Extra Data

This is where the video files are stored, and includes the thumbnail, the description, and possibly some checksum info in each video file stored in the extdata images. There are always 9 files within the subdirectory "00000000" of this folder, even without any videos downloaded. The files are "00000001" - "00000009", and "00000003" - "00000008" have the same filesize of 50.7 MB. It is possible to restore the older videos by overwriting all the files within this directory. Provided of course you have made a backup of the files before hand, by copying all the files within this directory to your computer. As far I'm aware its not possible to mix and match the files in order to get certain videos in one grouping, ie. having all 3 Zelda orchestral recordings in one group of 4 Nintendo videos.

00000207 00000217 00000227 Mii Maker
0000020d 0000021d 0000022d Face Raiders
? 00000210 ? Some 2.0.0-2 extdata. Since most extdataIDs are the titleIDLow>>8, this might be system settings?
00000209 00000219 00000229 eShop
? ? 0000030c Nintendogs + Cats
? ? 00000326 Pokédex 3D
? 0000032d 0000033c Super Street Fighter IV 3D
? 00000358 0000033b Ridge Racer 3D
? 0000034d ? Samurai Warriors Chronicles
? ? 0000038a Dead or Alive Dimensions
00000481 ? ? Monster Hunter Tri G (Download-Quests)