SD卡文件系统

From 3dbrew
Revision as of 14:06, 12 March 2012 by Straybirdsnest (talk | contribs) (Translation for SD_Filesystem, NOT Complated.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

3DS使用SD卡来储存附加的游戏数据、音乐以及用3DS拍摄的照片。

/DCIM - 照片及因特网浏览器(Internet Browser)下载的图像。
/Music - 音乐文件。
/Nintendo 3DS - 游戏数据。

/DCIM 在3.0.0-5版本中也存储.avi格式的3D视频,视频框架为MJPG。 (with 3.0.0-5 also stores .avi 3D videos from the camera title, video frames use MJPG.)

Extdata

附加的游戏数据储存在这里:

/Nintendo 3DS/<SomeID>/<SomeID>/extdata/00000000
00000082 - eShop - JPN (Unconfirmed)
0000008f - Some 2.0.0-2 data, unknown doesn't appear in extdata management.
00000098 - eShop - EUR (Unconfirmed)
00000207 - Mii Maker - JPN 
0000020d - Face Raiders - JPN
00000210 - Some 2.0.0-2 data, unknown doesn't appear in extdata management.
00000217 - Mii Maker - USA
00000219 - eShop USA
0000021d - Face Raiders - USA
00000227 - Mii Maker - EUR
0000022d - Face Raiders - EUR
0000030c - Nintendogs + Cats - EUR
00000326 - Pokédex 3D - EUR
0000032d - Super Street Fighter IV 3D - USA
0000033b - Ridge Racer 3D - EUR
0000033c - Super Street Fighter IV 3D - EUR
0000034d - Samurai Warriors Chronicles - USA
00000358 - Ridge Racer 3D - USA
0000038a - Dead or Alive Dimensions - EUR
00000481 - Monster Hunter Tri G (Download-Quests) - JPN
000004aa - Nintendo Video - USA
000004ab - Nintendo Video - EUR

所有extdata下的附加数据(extra data)都是加密的。尽管这些文件使用类似于闪存(FLASH)存档的0xFF区块,附加数据却不能用对待闪存存档的异或操作来解密。所有附加数据文件都不能被拷贝到别的3DS的SD卡上,它们被锁在3DS本体上。(straybirdsnest注:保存了一台3DS附加数据的SD卡直接(或者拷贝到另外的SD卡后)插入到另外一台3DS上无法被识别,猜测原文是指这个。)

(All "extra data" under extdata is encrypted. Although these files use 0xFF blocks similar to FLASH saves, extdata can't be decrypted with the xorpad fail like FLASH saves. All "extra data" files can't be copied to other 3DS SD cards, they are locked to the console.)

import.db 与 title.db

6月更新后,文件夹结构有了细微变化。你会在 /Nintendo 3DS/<SomeID>/<SomeID>/ 的exetdata旁找到"dbs"和"title"文件夹。"dbs"文件夹包含两个文件:import.db和title.db——用途目前不明。import.db似乎包含来自DSiWare SRL的数据。

文件数据的开头部分是加密的,但剩余部分是明文(cleartext)。这个文件总是3.1MB大小,因此它不包含大多数DSiWare的完整的SRL。里面的数据排列方式也与源SRL——ARM7代码,ARM9代码的排列顺序不同,它们混(mix)在一起。文件包含未安装的DSiWare数据,只在源DSi上被列出,用于DSiWare转移。(翻译待考证)

(The data at the beginning of the file is encrypted, but the rest is cleartext. This file is always 3.1MB, thus this doesn't contain the whole SRL for most DSiWare. The data stored here is not ordered the same way as the src SRL: ARM7 code, ARM9 code, and data are mixed together. The file can contain data from DSiWare that wasn't installed, only listed on the src DSi for DSiWare transfer. (This file is likely some temporary data storage used for DSiWare install etc).)

title.db似乎是加密的。


title

/title/00040000/ 包含 eshop 下载的数据 (有人能帮忙查证和加上地区吗?):
00032600 - Pokedex 3D - EUR (verified)
00042a00 - Legend of Zelda - Link's Awakening - EUR
0004ab00 - Nintendo Video - EUR
00052000 - Let's Golf 3D - EUR
00054300 - 3D Classics Excitebike - USA
00054e00 - 3D Classics Excitebike - EUR (verified)
00054300 - 3D Classics Excitebike - USA
00045C00 - 3D Classics Excitebike - JPN

要查看更多的ID,请参阅Title_list上的00040000标题(title)。

上面的游戏标题文件(title directories)包含两个目录: content 和 data 。content 包含 00000000.tmd、.app文件,某些cmd目录包含 00000001.cmd,所有这些文件都使用一个本体唯一的密钥(console-unique key)加密。data目录包含 00000001.sav,这是游戏标题(title)的加密游戏存档。尽管这些存档看起来很像闪存游戏存档,但是它们对文件内每个AES块使用了唯一的CTR,而CTR在每个游戏存档写入的时候又会改变。重命名这些游戏存档文件将引起主菜单在启动游戏(title)时挂起(hang),修改存档将像游戏卡带闪存存档一样抛出checksum/hash错误。

(The above title directories contain two dirs: content and data. content contains 00000000.tmd, .app files, and some cmd dir containing 00000001.cmd, all of which are encrypted with a console-unique key. The data dir contains 00000001.sav, this is the title's encrypted savegame. Although these saves look similar to FLASH savegames, these savegames use proper unique CTR for each AES block in the file, and the CTR properly changes for each savegame write. Renaming these savegames causes home-menu to hang while launching titles, modifying saves throws the usual checksum/hash corruption like gamecard flash saves.)

When renaming any of these files/dir under content, the icon in home-menu is still displayed. Modifying any of these files has same result as renaming them. When renaming the cmd dir/cmd file, or 00000000.app, the 3D banner isn't displayed. When renaming the cmd dir or the file contained in that dir, home-menu will refuse to run the title, and the manual will not work.(will display the black screen saying sdcard isn't inserted) Manual won't load when 00000001.app is renamed, so that .app might be the manual? When the main 00000000.app binary is renamed, the title will not launch and in the manual placeholder text is used for the title name/icon. Home-menu doesn't care at all when tmd is renamed.

Private

"Private" data is stored here:

/Nintendo 3DS/Private/<Title ID Low>/
00020400 - Nintendo 3DS Camera 
00020500 - Nintendo 3DS Sound


"Private" data for 3DS Sound/Camera are cleartext. Under the camera priv dir is phtcache.bin, this seems to list the pictures on SD card? When you want to install and see pictures with 3DS,rename to 8 numbers.mpo and save it on /DCIM . Under the sound priv dir is: voice/XX/*.m4a. Where XX is 01-10, with sound saved as .m4a.