Second Loader: Difference between revisions
Jump to navigation
Jump to search
Line 43: | Line 43: | ||
|- | |- | ||
| 0xC0 || 0x20 || HDR+ MetaData SHA256HMAC || SHA256 of hdr plus metadata (HMAC) | | 0xC0 || 0x20 || HDR+ MetaData SHA256HMAC || SHA256 of hdr plus metadata (HMAC) | ||
|- | |||
|} | |||
= MetaData Body = | |||
{| class="wikitable" | |||
! Offset !! Size !! Description !! Notes | |||
|- | |||
| 0x0 || 0x20 || KeySlot 1 || | |||
|- | |||
| 0x20 || 0x20 || Keyslot 2 || | |||
|- | |||
| 0x40 || 0x20 || Keyslot 3 || | |||
|- | |||
| 0x60 || 0x20 || Keyslot 4 || | |||
|- | |||
| 0x80 || 0x20 || Keyslot 5 || | |||
|- | |||
| 0xA0 || 0x20 || Keyslot 6 || | |||
|- | |- | ||
|} | |} |
Revision as of 15:16, 27 October 2020
The main loader of the Secure Kernel. The header contained in it contains the following information:
Header Info
Offset | Size | Description | Notes |
---|---|---|---|
0x0 | 4 | Magic | E5 C8 B2 64 |
0x4 | 4 | Header Size | Little Endian (0x2C0) |
0x8 | 4 | Entry Point | Little Endian (0x100) |
0xC | 4 | Padding | Zeroes |
0x10 | 0x10 | Payload Size | Little Endian (e.g 0xCE00) |
0x20 | 0x20 | SHA256 of the decrypted payload | |
0x40 | 0x10 | Versioning | Ascii 0000360000000000 |
0x50 | 0x90 | Padding | Zeroes |
0xE0 | 0xE0 | MetaData | |
0x1C0 | 0x100 | RSA Header Signature | |
0x2C0 | 0xCE00 | Payload | |
0xD0C0 | 0x100 | RSA Footer Signature | |
0xD1C0 | 0x140 | Random Padding | Must be filled to multiple of 0x200 bytes |
MetaData Info
Offset | Size | Description | Notes |
---|---|---|---|
0x0 | 0xC0 | MetaData Body | Contains Fail Keys up to certain point (3.69), Non Fail Keys afterwards (3.70+) |
0xC0 | 0x20 | HDR+ MetaData SHA256HMAC | SHA256 of hdr plus metadata (HMAC) |
MetaData Body
Offset | Size | Description | Notes |
---|---|---|---|
0x0 | 0x20 | KeySlot 1 | |
0x20 | 0x20 | Keyslot 2 | |
0x40 | 0x20 | Keyslot 3 | |
0x60 | 0x20 | Keyslot 4 | |
0x80 | 0x20 | Keyslot 5 | |
0xA0 | 0x20 | Keyslot 6 |