Line 16: |
Line 16: |
| | | |
| == import.db and title.db == | | == import.db and title.db == |
− | With the introduction of the June update the folder structure changed slightly. You will now find "dbs" and "title" folders located in /Nintendo 3DS/<SomeID>/<SomeID>/ along with the extdata folder. "dbs" contains two files, import.db and title.db. The purpose of the files in the "dbs" is to archive the list of titles installed on the SD card. These two files are only used for the management of SD Card installed 3DS Titles. The "title.db" file, archives the installed titles aswell as their, names, icons and size. The "import.db" also changes when a title is installed or deleted, but doesn't appear to contain info that the titles "title.db" does. Old and new of the "import.db" and "title.db" can be interchanged without any issues. Essentially the "title.db" acts as additional DRM or access rights for downloaded SD card titles. The "import.db" is used during the download/install of SD Card titles, and until the download is complete, it is the only file of the two which is modified.
| + | These two files, introduced with the [[2.0.0-2]] update, are used to manage 3DS titles installed to the SD Card and are part of the DRM for SD Card Titles. They are encrypted with a per-console key. |
| + | /Nintendo 3DS/<SomeID>/<SomeID>/dbs/import.db |
| + | /title.db |
| | | |
− | title.db seems to be encrypted. | + | "'''title.db'''" - The "title.db" file (among other things perhaps), archives data about titles installed on the SD Card which includes as well as their Title ID, TMD version, file names, file sizes and file hashes(it is possible that some of this data lies in the ".cmd" file in the title's directory). This data is taken from the title's [[SD Filesystem#title|TMD]] during install, this is also why the encrypted TMD found in each title directory is redundant. Since this file controls what SD Card titles are accessible to the 3DS, it is possible to move between different versions of an SD Card title if you have the title.db and title data for each version of that specific title. |
| + | |
| + | "'''import.db'''" - The function of the file is not well understood. It appears to be related to the download/install of titles, as in the progress of downloading titles this file will have changed but the title.db will not be modified until the title has been properly downloaded. This file doesn't contain any title specific data which the 3DS has been noted to use in relation to titles on the SD Card, even though this file is modified when titles are installed/deleted. Infact, no matter what titles you install, if you use an old copy of the "import.db" with a recent copy of the "title.db", this creates no noticeable issues. |
| + | |
| + | Note: It is quite unlikely that the either the import.db or title.db contain the cached icon and names of installed titles. The amount of data which changes in those two file when a title installed/deleted is not sufficient to contain the size of data required for the icons and names of the application, they are most likely cached in the NAND. |
| | | |
| * [https://gist.github.com/1113cbe10f124e5a2c72 Old and new import.db and title.db xored, revealing some plaintext]. | | * [https://gist.github.com/1113cbe10f124e5a2c72 Old and new import.db and title.db xored, revealing some plaintext]. |
| | | |
− | == title == | + | == title == |
− | /title/ Contains eShop title downloads
| + | SD Card titles (3DS eShop downloads) are stored in this directory: |
− | 00040000/00032600 - Pokedex 3D - EUR
| + | : /Nintendo 3DS/<SomeID>/<SomeID>/title/ |
− | 00040000/00042a00 - Legend of Zelda - Link's Awakening - EUR
| |
− | 00040000/0004ab00 - Nintendo Video - EUR
| |
− | 00040000/00052000 - Let's Golf 3D - EUR
| |
− | 00040000/00054300 - 3D Classics Excitebike - USA
| |
− | 00040000/00054e00 - 3D Classics Excitebike - EUR
| |
− | 00040000/00045C00 - 3D Classics Excitebike - JPN
| |
− | For more IDs, see the 00040000 titles on the [[Title_list]].
| |
− | | |
− | Directory Structure for SDMC Installed Titles:
| |
| | | |
− | /title/0004XXXX/XXXXXXXX/Content/00000000.tmd | + | And follow this directory structure: |
− | /XXXXXXXX.app
| + | /<Title ID High>/<Title ID Low>/Content/00000000.tmd |
− | /cmd/00000001.cmd
| + | /XXXXXXXX.app |
− | /title/0004XXXX/XXXXXXXX/Data/00000001.sav | + | /cmd/00000001.cmd |
− | /title/0004XXXX/XXXXXXXX/00000000.ctx | + | /<Title ID High>/<Title ID Low>/Data/00000001.sav |
| + | /<Title ID High>/<Title ID Low>/00000000.ctx |
| | | |
− |
| + | For list of eShop titles see the [[Title list]] |
− | "'''00000000.tmd'''" - (file name varies depending on title revision) This is the Title Metadata associated with the title, it is encrypted with a per-console key. The decrypted TMD is available on Nintendo's CDN server at "http://nus.cdn.c.shop.nintendowifi.net/ccs/download/TitleIDhere/tmd". Though CDN version of the title TMD has a certificate chain attached at the end of the TMD, so removing it will give you the 1:1 decrypted TMD. This TMD is likely copied to NAND after installing to SD, as modifying/deleting the SD TMD after title installation has no effect. | + | |
| + | "'''00000000.tmd'''" - (file name varies depending on title version) This is the Title Metadata associated with the title, it is encrypted with a per-console key. The decrypted TMD is available on Nintendo's CDN server at "http://nus.cdn.c.shop.nintendowifi.net/ccs/download/TitleIDhere/tmd". Though CDN version of the title TMD has a certificate chain attached at the end of the TMD, so removing it will give you the 1:1 decrypted TMD. After installation the "00000000.tmd" is redundant, because important title data is extracted and imported into the [[SD Filesystem#import.db and title.db|title.db]]. |
| | | |
| | | |
Line 65: |
Line 64: |
| | | |
| | | |
− | "'''00000001.cmd'''" - (file name varies depending on title revision) May contain hashes, or some other kind of file authentication, as the size of the "00000001.cmd" varies with the number of files in the 'Content' directory. Also, if the "00000001.cmd" cannot be found or is edited, the title is completely non-functional. | + | "'''00000001.cmd'''" - (file name varies depending on title version) May contain hashes, or some other kind of file authentication, as the size of the "00000001.cmd" varies with the number of files in the 'Content' directory. Also, if the "00000001.cmd" cannot be found or is edited, the title is completely non-functional. |
| | | |
| | | |