PrxDecrypter: add the 5.xx sceResmgr key

flash0:/vsh/etc/index_XXg.dat is the index of what the XMB shows, and 5.50 tags
it 0x0B2B11F0, which we had no key for - so the shell decrypted nothing, drew
no icons, and gave up with the red error screen.

The key is read out of that firmware's own mesg_led_02g.prx, whose tag table is
24-byte entries of tag plus 16-byte key. The two neighbouring entries hold
keys330_1 and keys505_a byte for byte, which is how the layout was confirmed.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
Henrik RydgårdandClaude Opus 5 committed 2026-09-10 10:48:32 -06:00
1 parent 1a3f14acd0
commit 56b6c3af90
1 file changed
+7
+7
View File
@@ -311,6 +311,12 @@ static const u32 g_keyUPDATER_PSAR[] = {
static const u8 keys_9DC14891_1[] = {0x39, 0xF7, 0xDF, 0x19, 0xD7, 0x10, 0xEA, 0x9F, 0x02, 0xDB, 0x3F, 0xB1, 0x10, 0x9F, 0x26, 0x6B};
static const u8 keys_9DC14891_2[] = {0x46, 0x1D, 0xC9, 0xC2, 0x1D, 0x44, 0xA6, 0x68, 0xF2, 0x06, 0x37, 0xBF, 0x62, 0xCD, 0x11, 0x9E};
static const u8 keys_9DC14891_3[] = {0x11, 0x0D, 0x1A, 0x4C, 0x8A, 0x19, 0x17, 0xDC, 0xD0, 0x5A, 0x65, 0x47, 0xA5, 0x03, 0x85, 0x22};
// The 5.xx member of the same family, read out of that firmware's own mesg_led_02g.prx: its tag
// table is 24-byte entries of tag + 16-byte key + padding, and the two entries around this one
// hold keys330_1 and keys505_a byte for byte, which is how the layout was confirmed. Without it
// the 5.50 XMB couldn't decrypt flash0:/vsh/etc/index_02g.dat, so it drew no icons and gave up
// with the red "a serious error has occurred" screen.
static const u8 keys_9DC14891_4[] = {0x1A, 0x26, 0xFD, 0x16, 0x32, 0x0E, 0x71, 0xD0, 0xDC, 0xD1, 0x3C, 0xE5, 0x53, 0xD5, 0x44, 0x99};
struct TAG_INFO {
u32 tag; // 4 byte value at offset 0xD0 in the PRX file
@@ -368,6 +374,7 @@ static const TAG_INFO2 g_tagInfo2[] =
{ 0x0B2B90F0, keys_9DC14891_1, 0x5C },
{ 0x0B2B91F0, keys_9DC14891_2, 0x5C },
{ 0x0B2B92F0, keys_9DC14891_3, 0x5C },
{ 0x0B2B11F0, keys_9DC14891_4, 0x5C },
{ 0x4C9494F0, keys660_k1, 0x43 },
{ 0x4C9495F0, keys660_k2, 0x43 },
{ 0x4C9490F0, keys660_k3, 0x43 },