Line 12: |
Line 12: |
| |- | | |- |
| | 0x80 | | | 0x80 |
− | | 0x200
| |
− | | RSA-2048 signature, followed a RSA-2048 modulus for [[NCA]] header (like 3DS)
| |
− | |-
| |
− | | 0x280
| |
| | <Varies> | | | <Varies> |
| | ACID | | | ACID |
Line 24: |
Line 20: |
| |} | | |} |
| | | |
− | =META= | + | = META = |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 33: |
Line 29: |
| | 0x0 | | | 0x0 |
| | 0x4 | | | 0x4 |
− | | Magicnum "META". | + | | Magic "META". |
| |- | | |- |
| | 0x20 | | | 0x20 |
| | ? | | | ? |
− | | Name string | + | | Title name |
| |- | | |- |
| | 0x70 | | | 0x70 |
Line 58: |
Line 54: |
| Switch version of 3DS "System Control Info"? | | Switch version of 3DS "System Control Info"? |
| | | |
− | =ACID= | + | = ACID = |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 65: |
Line 61: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0x0 | + | | 0 |
− | | 0x4 | + | | 0x100 |
− | | Magicnum "ACID". | + | | RSA-2048 signature |
| |- | | |- |
− | | 0x4 | + | | 0x100 |
− | | 0x28 | + | | 0x100 |
− | | ? | + | | RSA-2048 public key |
| |- | | |- |
− | | 0x2C | + | | 0x200 |
| | 0x4 | | | 0x4 |
− | | Size of the Service Access Control. | + | | Magic "ACID". |
| |- | | |- |
− | | 0x30 | + | | 0x204 |
− | | 0x14 | + | | 0x8 |
− | | ? | + | | Zeroes |
| |- | | |- |
− | | 0x44 | + | | 0x20C |
− | | ? | + | | 0x4 |
− | | FS Permissions | + | | Format version? (1) |
| |- | | |- |
− | | 0xF0 | + | | 0x210 |
− | | <See above> | + | | 0x8 |
− | | Service Access Control | + | | Title id |
− | |}
| |
− | | |
− | Switch version of AccessDesc?
| |
− | | |
− | =ACI0=
| |
− | {| class="wikitable" border="1"
| |
| |- | | |- |
− | ! Offset
| + | | 0x218 |
− | ! Size
| + | | 0x8 |
− | ! Description
| + | | Title id again |
| |- | | |- |
− | | 0x0 | + | | 0x220 |
| | 0x4 | | | 0x4 |
− | | Magicnum "ACI0". | + | | FS Access Control offset |
| |- | | |- |
| + | | 0x24 |
| | 0x4 | | | 0x4 |
| + | | FS Access Control size |
| + | |- |
| | 0x28 | | | 0x28 |
− | | ? | + | | 0x4 |
| + | | Service Access Control offset |
| |- | | |- |
| | 0x2C | | | 0x2C |
| | 0x4 | | | 0x4 |
− | | Size of the Service Access Control. | + | | Service Access Control size |
| |- | | |- |
| | 0x30 | | | 0x30 |
− | | 0x14 | + | | 4 |
− | | ? | + | | Kernel Access Control offset |
| |- | | |- |
− | | 0x44 | + | | 0x34 |
− | | ? | + | | 4 |
− | | FS Permissions | + | | Kernel Access Control size |
| |- | | |- |
− | | 0x60 | + | | 0x38 |
− | | <See above> | + | | 0x8 |
− | | Service Access Control | + | | Padding |
| |} | | |} |
| | | |
| + | = ACI0 = |
| + | Looks like an old crappy version of ACID. It has the guessed version field 0 instead of 1. |
| | | |
− | Switch version of 3DS ACI(Access Control Info)?
| + | = Service Access Control = |
− | | |
− | =Service Access Control= | |
| This is a list of [[Services_API|service]]-name strings which the title has access to, with the following structure: | | This is a list of [[Services_API|service]]-name strings which the title has access to, with the following structure: |
| +0: control_byte | | +0: control_byte |
Line 138: |
Line 132: |
| The service string can contain a wildcard <code>*</code> character. | | The service string can contain a wildcard <code>*</code> character. |
| | | |
− | =Access Descriptors= | + | = Access Descriptors = |
| Like the 3DS, the switch has a number of kernel capability descriptors. Unlike 3ds, where descriptors were identified by pattern 11..10 in high bits, on switch descriptors are identified by pattern 01..11 in low bits. | | Like the 3DS, the switch has a number of kernel capability descriptors. Unlike 3ds, where descriptors were identified by pattern 11..10 in high bits, on switch descriptors are identified by pattern 01..11 in low bits. |
| | | |