CXI: Difference between revisions
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
* and finally followed by a read-only filesystem (RomFS). | * and finally followed by a read-only filesystem (RomFS). | ||
The extended header contains additional information regarding access control. | The extended header contains additional information regarding access control. | ||
The plain binary region is an area specifically stored in plaintext, mostly containing SDK library strings for identification. | The plain binary region is an area specifically stored in plaintext, mostly containing SDK library strings for identification. | ||
The extended header, the ExeFS and the RomFS are encrypted using 128-bit AES CTR. | The extended header, the ExeFS and the RomFS are encrypted using 128-bit AES CTR. | ||
By default encrypted regions are compressed with a LZ77 variant, then encrypted. The spec allows for both unencrypted and uncompressed regions to exist. System titles expect a fixed system key. | |||
=== NCCH Header === | === NCCH Header === | ||
Line 84: | Line 85: | ||
| 0x188 | | 0x188 | ||
| 8 | | 8 | ||
| Flags | | Flags: byte[5]-byte[7] indicate content type ( system update, application, ... ) size of media unit ( 512*2^byte[6] ) and encryption. | ||
|- | |- | ||
| 0x190 | | 0x190 | ||
Line 200: | Line 201: | ||
A tool for parsing this format is available [http://github.com/neimod/ctr/tree/master/ctrtool here] | A tool for parsing this format is available [http://github.com/neimod/ctr/tree/master/ctrtool here] | ||
==== Example dependency list from the extended header ==== | |||
00850 41 50 54 3A 55 00 00 00 24 68 69 6F 46 49 4F 00 APT:U...$hioFIO. | |||
00860 24 68 6F 73 74 69 6F 30 24 68 6F 73 74 69 6F 31 $hostio0$hostio1 | |||
00870 61 63 3A 75 00 00 00 00 62 6F 73 73 3A 55 00 00 ac:u....boss:U.. | |||
00880 63 61 6D 3A 75 00 00 00 63 65 63 64 3A 75 00 00 cam:u...cecd:u.. | |||
00890 63 66 67 3A 75 00 00 00 64 6C 70 3A 46 4B 43 4C cfg:u...dlp:FKCL | |||
008A0 64 6C 70 3A 53 52 56 52 64 73 70 3A 3A 44 53 50 dlp:SRVRdsp::DSP | |||
008B0 66 72 64 3A 75 00 00 00 66 73 3A 55 53 45 52 00 frd:u...fs:USER. | |||
008C0 67 73 70 3A 3A 47 70 75 68 69 64 3A 55 53 45 52 gsp::Gpuhid:USER | |||
008D0 68 74 74 70 3A 43 00 00 6D 69 63 3A 75 00 00 00 http:C..mic:u... | |||
008E0 6E 64 6D 3A 75 00 00 00 6E 65 77 73 3A 75 00 00 ndm:u...news:u.. | |||
008F0 6E 77 6D 3A 3A 55 44 53 70 74 6D 3A 75 00 00 00 nwm::UDSptm:u... | |||
00900 70 78 69 3A 64 65 76 00 73 6F 63 3A 55 00 00 00 pxi:dev.soc:U... | |||
00910 73 73 6C 3A 43 00 00 00 79 32 72 3A 75 00 00 00 ssl:C...y2r:u... | |||
00920 69 72 3A 55 53 45 52 00 6C 64 72 3A 72 6F 00 00 ir:USER.ldr:ro.. | |||
00930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | |||
00940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | |||
00950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | |||
00960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | |||
... ... | |||
009D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | |||
009E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | |||
009F0 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 02 . ............. | |||
00A00 5B 53 44 4B 2B 4E 49 4E 54 45 4E 44 4F 3A 43 54 [SDK+NINTENDO:CT |