From b8b37e78ba58e6d1ee78798e1e46d383b6dea4e7 Mon Sep 17 00:00:00 2001 From: "Such Meme, Many Skill" Date: Tue, 14 Apr 2020 09:40:37 +0200 Subject: [PATCH] Hotfix for 10.0.0 --- source/hos/pkg1.c | 1 + source/tegraexplorer/emmc/emmc.c | 18 ++++++++++++------ source/tegraexplorer/emmc/emmc.h | 2 +- source/tegraexplorer/emmc/emmcmenu.c | 4 ++++ source/tegraexplorer/mainmenu.c | 6 +++--- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/source/hos/pkg1.c b/source/hos/pkg1.c index e93ac0d..ec05604 100644 --- a/source/hos/pkg1.c +++ b/source/hos/pkg1.c @@ -42,6 +42,7 @@ static const pkg1_id_t _pkg1_ids[] = { { "20190531152432", 8, {0x29c50, 0x6a73, 0, 8, 12, HASH_ORDER_700_9xx, 0x5563, 0x1d437} }, //8.1.0 { "20190809135709", 9, {0x2ec10, 0x5573, 0, 1, 12, HASH_ORDER_700_9xx, 0x6495, 0x1d807} }, //9.0.0 - 9.0.1 { "20191021113848", 10,{0x2ec10, 0x5573, 0, 1, 12, HASH_ORDER_700_9xx, 0x6495, 0x1d807} }, //9.1.0 + { "20200303104606", 11,{0x2ec10, 0x5573, 0, 1, 12, HASH_ORDER_700_9xx, 0x6495, 0x1d807} }, //10.0.0, May or may not be accurate. I just need to feed tsec anyway so this doesn't matter { NULL } //End. }; diff --git a/source/tegraexplorer/emmc/emmc.c b/source/tegraexplorer/emmc/emmc.c index a66b779..e2e79ec 100644 --- a/source/tegraexplorer/emmc/emmc.c +++ b/source/tegraexplorer/emmc/emmc.c @@ -215,8 +215,8 @@ int dump_biskeys(){ memcpy(bis_key[3], bis_key[2], 0x20); } - sdmmc_storage_set_mmc_partition(&storage, 0); - nx_emmc_gpt_parse(&sys_gpt, &storage); + //sdmmc_storage_set_mmc_partition(&storage, 0); + //nx_emmc_gpt_parse(&sys_gpt, &storage); se_aes_key_set(8, bis_key[2] + 0x00, 0x10); se_aes_key_set(9, bis_key[2] + 0x10, 0x10); @@ -226,10 +226,16 @@ int dump_biskeys(){ return 0; } -void dumpEmuGpt(){ - connect_mmc(EMUMMC); - emummc_storage_set_mmc_partition(&storage, 0); - nx_emmc_gpt_parse(&emu_gpt, &storage); +void dumpGpt(){ + connect_mmc(SYSMMC); + sdmmc_storage_set_mmc_partition(&storage, 0); + nx_emmc_gpt_parse(&sys_gpt, &storage); + + if (emu_cfg.enabled){ + connect_mmc(EMUMMC); + emummc_storage_set_mmc_partition(&storage, 0); + nx_emmc_gpt_parse(&emu_gpt, &storage); + } } link_t *selectGpt(short mmcType){ diff --git a/source/tegraexplorer/emmc/emmc.h b/source/tegraexplorer/emmc/emmc.h index 94a3796..5eefb67 100644 --- a/source/tegraexplorer/emmc/emmc.h +++ b/source/tegraexplorer/emmc/emmc.h @@ -16,7 +16,7 @@ int mount_mmc(const char *partition, const int biskeynumb); void connect_mmc(short mmctype); void disconnect_mmc(); int connect_part(const char *partition); -void dumpEmuGpt(); +void dumpGpt(); link_t *selectGpt(short mmcType); int checkGptRules(char *in); diff --git a/source/tegraexplorer/emmc/emmcmenu.c b/source/tegraexplorer/emmc/emmcmenu.c index dcb4a98..2709709 100644 --- a/source/tegraexplorer/emmc/emmcmenu.c +++ b/source/tegraexplorer/emmc/emmcmenu.c @@ -90,6 +90,10 @@ int handleEntries(short mmcType, menu_entry part){ int res = 0; if (part.property & ISDIR){ + if (returnpkg1info().ver < 0){ + gfx_errDisplay("emmcMakeMenu", ERR_BISKEY_DUMP_FAILED, 0); + return -1; + } if (!mount_mmc(part.name, part.storage)) fileexplorer("emmc:/", 1); } diff --git a/source/tegraexplorer/mainmenu.c b/source/tegraexplorer/mainmenu.c index acc8672..5dc848c 100644 --- a/source/tegraexplorer/mainmenu.c +++ b/source/tegraexplorer/mainmenu.c @@ -154,14 +154,14 @@ void te_main(){ if (dump_biskeys() == -1){ gfx_errDisplay("dump_biskey", ERR_BISKEY_DUMP_FAILED, 0); - mainmenu_main[1].property |= ISHIDE; + //mainmenu_main[1].property |= ISHIDE; } if (emummc_load_cfg()){ mainmenu_main[2].property |= ISHIDE; } - else - dumpEmuGpt(); + + dumpGpt(); disconnect_mmc();