Changes

Jump to navigation Jump to search
80 bytes removed ,  16:54, 4 August 2017
Undo revision 1894 by Aerosoul (talk) Removed info which appears to be directly from SDK.
Line 2: Line 2:     
It starts with the "NSO" header and mainly describes .text, .rodata, and .data segments (like a short-form of ELF program headers):
 
It starts with the "NSO" header and mainly describes .text, .rodata, and .data segments (like a short-form of ELF program headers):
 +
 +
=== SegmentHeader ===
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0
 +
| 4
 +
| file offset of data
 +
|-
 +
| 0x4
 +
| 4
 +
| memory offset loaded to
 +
|-
 +
| 0x8
 +
| 4
 +
| size of data copied to memory offset (i.e. size after decompression)
 +
|-
 +
| 0xC
 +
| 4
 +
| alignment used on memory size / size of .bss in the case of .data segment
 +
|}
    
=== .rodata-relative extent ===
 
=== .rodata-relative extent ===
Line 32: Line 56:  
| 0x4
 
| 0x4
 
| 4
 
| 4
| Version
+
|  
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 4
 
| 4
| Reserved1
+
|  
 
|-
 
|-
 
| 0xC
 
| 0xC
 
| 4
 
| 4
| Flags: TextCompress = 1, RoCompress = 2, DataCompress = 4, TextHash = 8, RoHash = 0x10, DataHash = 0x20
+
| Always 0x3f?
 
|-
 
|-
 
| 0x10
 
| 0x10
| 4
+
| 0x10 * 3
| TextFileOffset
+
| SegmentHeader for each segment
|-
  −
| 0x14
  −
| 4
  −
| TextMemoryOffset
  −
|-
  −
| 0x18
  −
| 4
  −
| TextSize
  −
|-
  −
| 0x1C
  −
| 4
  −
| ModuleNameOffset
  −
|-
  −
| 0x20
  −
| 4
  −
| RoFileOffset
  −
|-
  −
| 0x24
  −
| 4
  −
| RoMemoryOffset
  −
|-
  −
| 0x28
  −
| 4
  −
| RoSize
  −
|-
  −
| 0x2C
  −
| 4
  −
| ModuleNameSize
  −
|-
  −
| 0x30
  −
| 4
  −
| DataFileOffset
  −
|-
  −
| 0x34
  −
| 4
  −
| DataMemoryOffset
  −
|-
  −
| 0x38
  −
| 4
  −
| DataSize
  −
|-
  −
| 0x3C
  −
| 4
  −
| BssSize
   
|-
 
|-
 
| 0x40
 
| 0x40
Line 95: Line 75:  
|-
 
|-
 
| 0x60
 
| 0x60
| 0x4
+
| 0x4 * 3
| TextFileSize
+
| file size of each segment (i.e. LZ4-compressed size)
|-
  −
| 0x64
  −
| 0x4
  −
| RoFileSize
  −
|-
  −
| 0x68
  −
| 0x4
  −
| DataFileSize
   
|-
 
|-
 
| 0x6c
 
| 0x6c

Navigation menu