Difference between revisions of "NSO"

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 30: Line 30:
 
| 0x14
 
| 0x14
 
| 4
 
| 4
|
+
| .text offset? (0)
 
|-
 
|-
 
| 0x18
 
| 0x18
Line 38: Line 38:
 
| 0x1C
 
| 0x1C
 
| 4
 
| 4
| 0x1000
+
| .text required align? (0x1000)
 
|-
 
|-
 
| 0x20
 
| 0x20
 
| 4
 
| 4
|  
+
| .text compressed size?
 
|-
 
|-
 
| 0x24
 
| 0x24
Line 54: Line 54:
 
| 0x2C
 
| 0x2C
 
| 4
 
| 4
| 1
+
| .rodata required align? (1)
 
|-
 
|-
 
| 0x30
 
| 0x30
 
| 4
 
| 4
|  
+
| .rodata compressed size?
 
|-
 
|-
 
| 0x34
 
| 0x34

Revision as of 21:28, 25 June 2017

NSO is the main executable format.

It starts with a header:

Offset Size Description
0x0 4 Magic "NSO0"
0x4 4
0x8 4
0xC 4
0x10 4
0x14 4 .text offset? (0)
0x18 4 .text size
0x1C 4 .text required align? (0x1000)
0x20 4 .text compressed size?
0x24 4 .rodata offset
0x28 4 .rodata size
0x2C 4 .rodata required align? (1)
0x30 4 .rodata compressed size?
0x34 4 .data offset
0x38 4
0xA0 0x60 3 Hashes over the decompressed sections using the above byte-sizes: .text, .rodata, and .data.
0x100 Compressed sections