Line 27: |
Line 27: |
| | 0x200 | | | 0x200 |
| | 0x4 | | | 0x4 |
− | | Magicnum "NCA3" ("NCA2", "NCA1" or "NCA0" for pre-1.0.0 NCAs) | + | | Magic "NCA3" ("NCA2", "NCA1" or "NCA0" for pre-1.0.0 NCAs) |
| |- | | |- |
| | 0x204 | | | 0x204 |
Line 63: |
Line 63: |
| | 0x220 | | | 0x220 |
| | 0x1 | | | 0x1 |
− | | KeyGeneration (0x03 = [[3.0.1]], 0x04 = [[4.0.0]], 0x05 = [[5.0.0]], 0x06 = [[6.0.0]], 0x07 = [[6.2.0]], 0x08 = [[7.0.0]], 0x09 = [[8.1.0]], 0x0A = [[9.0.0]], 0x0B = [[9.1.0]], 0x0C = [[12.1.0]], 0x0D = [[13.0.0]], 0xFF = Invalid) | + | | KeyGeneration (0x03 = [[3.0.1]], 0x04 = [[4.0.0]], 0x05 = [[5.0.0]], 0x06 = [[6.0.0]], 0x07 = [[6.2.0]], 0x08 = [[7.0.0]], 0x09 = [[8.1.0]], 0x0A = [[9.0.0]], 0x0B = [[9.1.0]], 0x0C = [[12.1.0]], 0x0D = [[13.0.0]], 0x0E = [[14.0.0]], 0x0F = [[15.0.0]], 0x10 = [[16.0.0]], 0x11 = [[17.0.0]], 0x12 = [[18.0.0]], 0xFF = Invalid) |
| |- | | |- |
| | 0x221 | | | 0x221 |
| | 0x1 | | | 0x1 |
− | | [9.0.0+] Header1SignatureKeyGeneration (0 or 1) | + | | [9.0.0+] SignatureKeyGeneration |
| |- | | |- |
| | 0x222 | | | 0x222 |
Line 113: |
Line 113: |
| | 0x0 | | | 0x0 |
| | 0x4 | | | 0x4 |
− | | StartOffset (in Media Units which are 0x200 bytes) | + | | StartOffset (in blocks which are 0x200 bytes) |
| |- | | |- |
| | 0x4 | | | 0x4 |
| | 0x4 | | | 0x4 |
− | | EndOffset (in Media Units which are 0x200 bytes) | + | | EndOffset (in blocks which are 0x200 bytes) |
| |- | | |- |
| | 0x8 | | | 0x8 |
Line 141: |
Line 141: |
| | 0x3 | | | 0x3 |
| | 0x1 | | | 0x1 |
− | | HashType (0 = Auto, 1 = None, 2 = HierarchicalSha256Hash, 3 = HierarchicalIntegrityHash) | + | | HashType (0 = Auto, 1 = None, 2 = HierarchicalSha256Hash, 3 = HierarchicalIntegrityHash, [14.0.0+] 4 = AutoSha3, [14.0.0+] 5 = HierarchicalSha3256Hash, [14.0.0+] 6 = HierarchicalIntegritySha3Hash) |
| |- | | |- |
| | 0x4 | | | 0x4 |
| | 0x1 | | | 0x1 |
− | | EncryptionType (0 = Auto, 1 = None, 2 = XTS, 3 = AesCtr, 4 = AesCtrEx) | + | | EncryptionType (0 = Auto, 1 = None, 2 = AesXts, 3 = AesCtr, 4 = AesCtrEx, [14.0.0+] 5 = AesCtrSkipLayerHash, [14.0.0+] 6 = AesCtrExSkipLayerHash) |
| |- | | |- |
| | 0x5 | | | 0x5 |
− | | 0x3 | + | | 0x1 |
− | | Padding | + | | [14.0.0+] MetaDataHashType (0 = None, 1 = HierarchicalIntegrity) |
| + | |- |
| + | | 0x6 |
| + | | 0x2 |
| + | | Reserved |
| |- | | |- |
| | 0x8 | | | 0x8 |
Line 172: |
Line 176: |
| |- | | |- |
| | 0x178 | | | 0x178 |
− | | 0x20 | + | | 0x28 |
| | [12.0.0+] [[#CompressionInfo|CompressionInfo]] | | | [12.0.0+] [[#CompressionInfo|CompressionInfo]] |
| |- | | |- |
− | | 0x198 | + | | 0x1A0 |
− | | 0x68 | + | | 0x30 |
| + | | [14.0.0+] [[#MetaDataHashDataInfo|MetaDataHashDataInfo]] |
| + | |- |
| + | | 0x1D0 |
| + | | 0x30 |
| | Reserved | | | Reserved |
| |} | | |} |
Line 540: |
Line 548: |
| | 0x10 | | | 0x10 |
| | [[#BucketTreeHeader|TableHeader]] | | | [[#BucketTreeHeader|TableHeader]] |
| + | |- |
| + | | 0x20 |
| + | | 0x8 |
| + | | Reserved |
| |} | | |} |
| | | |
Line 564: |
Line 576: |
| | 0x4 | | | 0x4 |
| | Reserved | | | Reserved |
| + | |} |
| + | |
| + | == MetaDataHashDataInfo == |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x8 |
| + | | TableOffset |
| + | |- |
| + | | 0x8 |
| + | | 0x8 |
| + | | TableSize |
| + | |- |
| + | | 0x10 |
| + | | 0x20 |
| + | | TableHash |
| |} | | |} |
| | | |