MOD
MOD describes a module object. It is essentially a replacement for a PT_DYNAMIC program header.
ModuleHeaderLocation
This is "nn::rocrt::ModuleHeaderLocation".
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x4 | [17.0.0+] Version ([1.0.0-16.1.0] Padding) | 
| 0x4 | 0x4 | HeaderOffset | 
| 0x8 | 0x4 | [17.0.0+] VersionOffset | 
ModuleHeader
This is "nn::rocrt::ModuleHeader".
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x4 | Signature ("MOD0") | 
| 0x4 | 0x4 | DynamicOffset | 
| 0x8 | 0x4 | BssStartOffset | 
| 0xC | 0x4 | BssEndOffset | 
| 0x10 | 0x4 | ExceptionInfoStartOffset | 
| 0x14 | 0x4 | ExceptionInfoEndOffset | 
| 0x18 | 0x4 | ModuleOffset (offset to runtime-generated module object, typically equal to .bss base) | 
| 0x1C | 0x4 | [19.0.0+] RelroStartOffset | 
| 0x20 | 0x4 | [19.0.0+] FullRelroEndOffset | 
| 0x24 | 0x4 | [19.0.0+] NxDebugLinkStartOffset | 
| 0x28 | 0x4 | [19.0.0+] NxDebugLinkEndOffset | 
| 0x2C | 0x4 | [19.0.0+] NoteGnuBuildIdStartOffset | 
| 0x30 | 0x4 | [19.0.0+] NoteGnuBuildIdEndOffset | 
ModuleVersion
With [17.0.0+] this structure is normally located immediately after the ModuleHeader. This stores the nnSdk version.
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x4 | Major | 
| 0x4 | 0x4 | Minor | 
| 0x8 | 0x4 | Micro |