Difference between revisions of "SLB2"

From Vita Development Wiki
Jump to navigation Jump to search
Line 21: Line 21:
 
| 0x0 || 0x4 || <code>0x64B2C8E5</code> Magic
 
| 0x0 || 0x4 || <code>0x64B2C8E5</code> Magic
 
|-
 
|-
| 0x4 || 0x4 || Offset to data
+
| 0x4 || 0x4 || Data segment location
 
|-
 
|-
 
| 0x8 || 0x4 || Unknown
 
| 0x8 || 0x4 || Unknown
Line 31: Line 31:
 
| 0x14 || 0xC || Unknown
 
| 0x14 || 0xC || Unknown
 
|-
 
|-
| 0x20 || 0x20 || ?Hash?
+
| 0x20 || 0x20 || Data segment SHA256
 
|-
 
|-
 
| 0x40 || 0x10 || System Software version in ASCII (ex: "0000360000000000")
 
| 0x40 || 0x10 || System Software version in ASCII (ex: "0000360000000000")
Line 37: Line 37:
 
| 0x50 || 0x90 || Zero
 
| 0x50 || 0x90 || Zero
 
|-
 
|-
| 0xE0 || Until Data || Encrypted Header
+
| 0xE0 || 0x1E0 || Encrypted Header
 
|}
 
|}
  

Revision as of 12:47, 2 January 2019

SLB2 is the format used to store the encrypted bootloaders on the device.

Structure

See [SLB2 structure]

SLB2 embedded ENC Files

On 3.50 reset, 3.60 retail:

  • second_loader.enp_, size: 0xD400 bytes
  • second_loader.enp, size: 0xD400 bytes
  • secure_kernel.enp_, size: 0x8400 bytes
  • secure_kernel.enp, size: 0x8400 bytes

ENC file structure

Offset Size Description
0x0 0x4 0x64B2C8E5 Magic
0x4 0x4 Data segment location
0x8 0x4 Unknown
0xC 0x4 Unknown/Zero
0x10 0x4 Data size
0x14 0xC Unknown
0x20 0x20 Data segment SHA256
0x40 0x10 System Software version in ASCII (ex: "0000360000000000")
0x50 0x90 Zero
0xE0 0x1E0 Encrypted Header

The last 0x340 bytes is a footer that likely contains a signed MAC of the plaintext data.