CIA: Difference between revisions
mNo edit summary |
Link00000000 (talk | contribs) m Add clarification for what TMD is |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:File formats]] | [[Category:File formats]] | ||
== Overview == | == Overview == | ||
CIA stands for '''C'''TR '''I'''mportable '''A'''rchive. This format allows the installation titles to the 3DS. CIA files and titles on [[Title list|Nintendo's CDN]] contain identical data. As a consequence, valid CIA files can be generated from CDN content. This also means CIA files can contain anything that titles on Nintendo's CDN can contain. | CIA stands for '''C'''TR '''I'''mportable '''A'''rchive. This format allows the installation of titles to the 3DS. CIA files and titles on [[Title list|Nintendo's CDN]] contain identical data. As a consequence, valid CIA files can be generated from CDN content. This also means CIA files can contain anything that titles on Nintendo's CDN can contain. | ||
Under normal circumstances CIA files are used where downloading a title is impractical or not possible. Such as distributing a [[Download Play]] child, or installing forced Gamecard updates. Those CIA(s) are stored by the titles in question, in an auxiliary [[NCCH#CFA|CFA]] file. | Under normal circumstances CIA files are used where downloading a title is impractical or not possible. Such as distributing a [[Download Play]] child, or installing forced Gamecard updates. Those CIA(s) are stored by the titles in question, in an auxiliary [[NCCH#CFA|CFA]] file. | ||
Line 47: | Line 47: | ||
| 0x10 | | 0x10 | ||
| 0x04 | | 0x04 | ||
| [[TMD]] file size | | [[TMD]] (Title Metadata) file size | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
Line 66: | Line 66: | ||
* Ticket | * Ticket | ||
* TMD file data | * TMD file data | ||
* | * Content file data | ||
* Meta file data (Not a necessary component) | * Meta file data (Not a necessary component) | ||
The | The contents (NCCH/SRL) are encrypted using 128-bit AES-CBC. The encryption uses the decrypted titlekey from the [[Ticket#Structure|ticket]], and the content index from the TMD padded with zeros as the IV. | ||
=== Certificate Chain === | === Certificate Chain === | ||
Line 116: | Line 116: | ||
| 0x00 | | 0x00 | ||
| 0x180 | | 0x180 | ||
| Title ID dependency list - Taken from the application's [[NCCH | | Title ID dependency list - Taken from the application's [[NCCH/Extended Header|ExHeader]] | ||
|- | |- | ||
| 0x180 | | 0x180 | ||
Line 141: | Line 141: | ||
* [https://github.com/3dshax/ctr/tree/master/ctrtool ctrtool] - Reading/Extraction of CIA files. This can only decrypt the title-key for development CIAs, since retail CIAs use the [[AES]] hardware key-scrambler for the common-key keyslot. | * [https://github.com/3dshax/ctr/tree/master/ctrtool ctrtool] - Reading/Extraction of CIA files. This can only decrypt the title-key for development CIAs, since retail CIAs use the [[AES]] hardware key-scrambler for the common-key keyslot. | ||
* [https://github.com/ | * [https://github.com/Tiger21820/ctr_toolkit/tree/master/make_cia make_cia] - Generating CIA files. Requires CommonKey and ticket/TMD RSA-2048 private exponents. | ||
* [https://github.com/ | * [https://github.com/Tiger21820/ctr_toolkit/tree/master/make_cdn_cia make_cdn_cia] - (CMD)(Windows/Linux) Generates CIA files from CDN Content | ||
* [[makerom]] - Tool which can be used to create NCCH, CCI, and CIA files. | |||
== Title Key Encryption == | == Title Key Encryption == |