diff --git a/Core/ELF/PrxDecrypter.cpp b/Core/ELF/PrxDecrypter.cpp index 7d34229b3e..1dc445b9fc 100644 --- a/Core/ELF/PrxDecrypter.cpp +++ b/Core/ELF/PrxDecrypter.cpp @@ -318,6 +318,10 @@ static const u8 keys_9DC14891_3[] = {0x11, 0x0D, 0x1A, 0x4C, 0x8A, 0x19, 0x17, 0 // index_XXg.dat - the index of what the XMB shows - is tagged with the one for its model, so a // shell whose key is missing decrypts nothing, draws no icons and gives up with the red error // screen. Names are _. +// 3.0x and 3.5x predate the per-model split and have a single flash0:/vsh/etc/index.dat. +static const u8 keys_9DC14891_31x[] = {0x27, 0xE1, 0x31, 0xF5, 0xF7, 0x9B, 0xE7, 0x88, 0xD6, 0x8D, 0x7C, 0x0D, 0x99, 0x73, 0xA1, 0x8F}; +static const u8 keys_9DC14891_30x[] = {0x96, 0x86, 0xDD, 0x78, 0x87, 0xA7, 0x2B, 0xD9, 0xDD, 0xC6, 0x6C, 0x4F, 0x89, 0xFB, 0xD4, 0xD7}; +static const u8 keys_9DC14891_35x[] = {0x6B, 0x3F, 0x91, 0x58, 0xED, 0x40, 0x68, 0x54, 0x93, 0xD6, 0x45, 0x3F, 0x2C, 0xD4, 0x23, 0x43}; static const u8 keys_9DC14891_50x_01g[] = {0xF8, 0x15, 0xCC, 0x79, 0x10, 0x89, 0x16, 0xD6, 0x25, 0x11, 0x00, 0xEB, 0x6B, 0xB1, 0x13, 0xE2}; static const u8 keys_9DC14891_50x_02g[] = {0x1A, 0x26, 0xFD, 0x16, 0x32, 0x0E, 0x71, 0xD0, 0xDC, 0xD1, 0x3C, 0xE5, 0x53, 0xD5, 0x44, 0x99}; static const u8 keys_9DC14891_50x_03g[] = {0x20, 0xDC, 0xEF, 0xB8, 0x0A, 0x8D, 0x43, 0x27, 0x68, 0xB9, 0xF9, 0x11, 0x38, 0x94, 0x84, 0x28}; @@ -384,6 +388,9 @@ static const TAG_INFO2 g_tagInfo2[] = { 0x0B2B90F0, keys_9DC14891_1, 0x5C }, { 0x0B2B91F0, keys_9DC14891_2, 0x5C }, { 0x0B2B92F0, keys_9DC14891_3, 0x5C }, + { 0x0B2B06F0, keys_9DC14891_30x, 0x5C }, + { 0x0B2B08F0, keys_9DC14891_31x, 0x5C }, + { 0x0B2B0AF0, keys_9DC14891_35x, 0x5C }, { 0x0B2B0BF0, keys_9DC14891_50x_01g, 0x5C }, { 0x0B2B11F0, keys_9DC14891_50x_02g, 0x5C }, { 0x0B2B1EF0, keys_9DC14891_50x_03g, 0x5C },