Difference between revisions of "NPDM"
Jump to navigation
Jump to search
Line 70: | Line 70: | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
− | | | + | | 0xEC |
| ? | | ? | ||
+ | |- | ||
+ | | 0xF0 | ||
+ | | <Varies> | ||
+ | | Service Access Control | ||
|} | |} | ||
Line 90: | Line 94: | ||
| 0xB4 | | 0xB4 | ||
| ? | | ? | ||
+ | |- | ||
+ | | 0x60 | ||
+ | | <Varies> | ||
+ | | Service Access Control | ||
|} | |} | ||
Switch version of 3DS ACI(Access Control Info)? | Switch version of 3DS ACI(Access Control Info)? | ||
+ | |||
+ | =Service Access Control= | ||
+ | This is a list of [[Services_API|service]]-name strings which the title has access to, with the following structure: +0 control_byte, +1 = {service-name without nul-terminator}. Bitmask 0xF in control_byte is the length of the service-name. Bitmask 0x80 is set for services which the title can register, while it's clear for services used with [[Services_API#GetService]]. |
Revision as of 18:35, 25 June 2017
This is the Switch equivalent of 3DS exheader. This is the file with extension ".npdm" in {Switch ExeFS}. The size of this file varies.
Offset | Size | Description |
---|---|---|
0x0 | 0x80 | META |
0x80 | 0x200 | RSA-2048 signature, followed a RSA-2048 modulus for NCA header (like 3DS) |
0x280 | <Varies> | ACID |
<See META> | <See META> | ACI0 |
META
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Magicnum "META". |
0x20 | ? | Name string |
0x70 | 0x4 | Absolute offset for ACI0. |
0x74 | 0x4 | Size of ACI0. |
0x78 | 0x4 | Absolute offset of the RSA signature. |
0x7C | 0x4 | Size used with the above offset. Offset+size is normally ACI0_start-8. |
Switch version of 3DS "System Control Info"?
ACID
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Magicnum "ACID". |
0x4 | 0xEC | ? |
0xF0 | <Varies> | Service Access Control |
Switch version of AccessDesc?
ACI0
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Magicnum "ACI0". |
0x4 | 0xB4 | ? |
0x60 | <Varies> | Service Access Control |
Switch version of 3DS ACI(Access Control Info)?
Service Access Control
This is a list of service-name strings which the title has access to, with the following structure: +0 control_byte, +1 = {service-name without nul-terminator}. Bitmask 0xF in control_byte is the length of the service-name. Bitmask 0x80 is set for services which the title can register, while it's clear for services used with Services_API#GetService.