From 5f398089230d5f4ec45b328e40ab4021ada4d7a0 Mon Sep 17 00:00:00 2001 From: Kostas Missos Date: Mon, 21 May 2018 13:26:03 +0300 Subject: [PATCH] Update to version 1.5 + add jsaowji's 3.0.0 support --- ipl/hos.c | 21 +++++++++++++++------ ipl/main.c | 2 +- ipl/pkg1.c | 3 ++- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ipl/hos.c b/ipl/hos.c index 47a1f4d..2b12018 100755 --- a/ipl/hos.c +++ b/ipl/hos.c @@ -433,12 +433,21 @@ DPRINTF("decrypted and unpacked pkg1\n"); se_aes_key_clear(8); se_aes_key_clear(11); - //se_aes_key_clear(13); - //se_key_acc_ctrl(10, 0xFF); - se_key_acc_ctrl(12, 0xFF); - //se_key_acc_ctrl(13, 0xFF); - //se_key_acc_ctrl(14, 0xFF); - se_key_acc_ctrl(15, 0xFF); + + switch (ctxt.pkg1_id->kb) { + case KB_FIRMWARE_VERSION_100_200: + case KB_FIRMWARE_VERSION_300: + case KB_FIRMWARE_VERSION_301: + se_key_acc_ctrl(12, 0xFF); + se_key_acc_ctrl(13, 0xFF); + break; + default: + case KB_FIRMWARE_VERSION_400: + case KB_FIRMWARE_VERSION_500: + se_key_acc_ctrl(12, 0xFF); + se_key_acc_ctrl(15, 0xFF); + break; + } //Clear 'BootConfig'. memset((void *)0x4003D000, 0, 0x3000); diff --git a/ipl/main.c b/ipl/main.c index 69865a3..9a6e184 100755 --- a/ipl/main.c +++ b/ipl/main.c @@ -1237,7 +1237,7 @@ ment_t ment_top[] = { }; menu_t menu_top = { ment_top, - "hekate - ipl", 0, 0 + "hekate - ipl (CTCaer mod v1.5)", 0, 0 }; extern void pivot_stack(u32 stack_top); diff --git a/ipl/pkg1.c b/ipl/pkg1.c index c506944..c3c8c24 100755 --- a/ipl/pkg1.c +++ b/ipl/pkg1.c @@ -42,6 +42,7 @@ PATCHSET_DEF(_secmon_2_patchset, PATCHSET_DEF(_secmon_3_patchset, //Patch package2 decryption and signature/hash checks. + { 0xAC8 + 0xAB4, _NOP() }, { 0xAC8 + 0xA30, _NOP() }, //Header signature. { 0xAC8 + 0xAC0, _NOP() }, //Version. { 0xAC8 + 0xADC, _NOP() } //Sections SHA2. @@ -78,7 +79,7 @@ PATCHSET_DEF(_secmon_6_patchset, static const pkg1_id_t _pkg1_ids[] = { { "20161121183008", 0, 0x1900, 0x3FE0, { 2, 1, 0 }, 0x40014020, _secmon_1_patchset }, //1.0.0 { "20170210155124", 0, 0x1900, 0x3FE0, { 0, 1, 2 }, 0x4002D000, _secmon_2_patchset }, //2.0.0 - { "20170519101410", 1, 0x1A00, 0x3FE0, { 0, 1, 2 }, 0x4002D000, NULL }, //3.0.0 + { "20170519101410", 1, 0x1A00, 0x3FE0, { 0, 1, 2 }, 0x4002D000, _secmon_3_patchset }, //3.0.0 { "20170710161758", 2, 0x1A00, 0x3FE0, { 0, 1, 2 }, 0x4002D000, NULL }, //3.0.1 { "20170921172629", 3, 0x1800, 0x3FE0, { 1, 2, 0 }, 0x4002B000, _secmon_5_patchset }, //4.0.0 { "20180220163747", 4, 0x1900, 0x3FE0, { 1, 2, 0 }, 0x4002B000, _secmon_6_patchset }, //5.0.0