Revoke
there has already been a talk about it, here: Revokation
trvk_pkg
NOR: splitted into 2 seperate sections trvk_pkg0 (0x080000) + trvk_pkg1 (0x0A0000)
NAND: 1 region (0x0093800) with 2 combined sections of trvk_pkg0 + trvk_pkg1
Only seen on NAND, with 2 combined sections of trvk_pkg0 + trvk_pkg1
example
NOR: |
NAND: 0x0093800 - 0x009381F
|
N.A. |
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00093800 00 00 00 00 00 00 10 10 00 00 00 00 00 00 10 10 ................
00093810 00 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 ...... .........
|
structure
Address |
Length |
Value |
Description
|
0x0 |
0x8 |
0x1010 |
Offset to region (relative to base 0x93800)
|
0x8 |
0x8 |
0x1010 |
Offset to file (relative to base 0x93800)
|
0x10 |
0x8 |
0x2000 |
Region Size
|
0x8 |
0x8 |
0x0 |
Unknown
|
trvk_pkg File Entries
32 byte SCE header for each trvk_pkg file, followed by the signed/encrypted data. For content/structure, see: Revokation
trvk_pkg0
example
NOR: trvk_pkg0 (0x80000) |
NAND: trvk_pkg0 (0x0093820)
|
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00080000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 60 ...............`
00080010 53 43 45 00 00 00 00 02 00 00 00 02 00 00 00 00 SCE.............
00080020 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 60 ...............` |
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00093820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 40 ...............@
00093830 53 43 45 00 00 00 00 02 00 00 00 02 00 00 00 00 SCE.............
00093840 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 40 ...............@
|
structure
Address |
Length |
Value |
Description
|
0x0 |
0x8 |
0x0 |
Unknown
|
0x8 |
0x8 |
0x0260 |
Data size (Unique per version)
|
0x10 |
0x4 |
ASCII:SCE. |
Magic Header
|
0x14 |
0x4 |
0x2 |
Unknown
|
0x18 |
0x4 |
0x2 |
Unknown
|
0x1C |
0x4 |
0x0 |
Unknown
|
0x20 |
0x8 |
0x200 |
Unknown
|
0x28 |
0x8 |
0xE0 |
Meta size
|
0x210 |
0x10 |
Varies |
Unknown (Header?)
|
0x220 |
0x03 |
0x00 |
Unknown Static
|
0x223 |
0x01 |
0x06 |
Unknown Static
|
0x224 |
0x0C |
0x00 |
Unknown Static
|
0x260 |
0x0D80 |
0x00 |
Empty Space (Start is relative to data size)
|
trvk_pkg1
example
NOR: trvk_pkg1 (0x0A0000) |
NAND: trvk_pkg1 (0x0094810)
|
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
000A0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 60 ...............`
000A0010 53 43 45 00 00 00 00 02 00 00 00 02 00 00 00 00 SCE.............
000A0020 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 60 ...............` |
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00094810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 40 ...............@
00094820 53 43 45 00 00 00 00 02 00 00 00 02 00 00 00 00 SCE.............
00094830 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 40 ...............@
|
structure
Address |
Length |
Value |
Description
|
0x0 |
0x8 |
0x0 |
Unknown
|
0x8 |
0x8 |
0x02C0 |
Data size (Unique per version)
|
0x10 |
0x4 |
ASCII:SCE. |
Magic Header
|
0x14 |
0x4 |
0x2 |
Unknown
|
0x18 |
0x4 |
0x2 |
Unknown
|
0x1C |
0x4 |
0x0 |
Unknown
|
0x20 |
0x8 |
0x200 |
Unknown
|
0x28 |
0x8 |
0xE0 |
Meta size
|
0x210 |
0x10 |
Varies |
Unknown (Header?)
|
0x220 |
0x03 |
0x00 |
Unknown Static
|
0x223 |
0x01 |
0x06 |
Unknown Static
|
0x224 |
0x0C |
0x00 |
Unknown Static
|
0x260 |
0x0D80 |
0x00 |
Empty Space (Start is relative to data size)
|