#include "mainmenu.h" #include "../gfx/gfx.h" #include "../gfx/gfxutils.h" #include "../gfx/menu.h" #include "tools.h" #include "../hid/hid.h" #include "../fs/menus/explorer.h" #include #include #include "tconf.h" #include "../keys/keys.h" MenuEntry_t mainMenuEntries[] = { {.R = 255, .G = 255, .B = 255, .skip = 1, .name = "-- Main Menu --"}, {.G = 255, .name = "SD:/"}, {.B = 255, .G = 255, .name = "Test Controllers"}, {.R = 255, .name = "Cause an exception"}, {.optionUnion = COLORTORGB(COLOR_ORANGE), .name = "View dumped keys"}, {.R = 255, .name = "Reboot to payload"} }; void HandleSD(){ gfx_clearscreen(); TConf.curExplorerLoc = LOC_SD; if (!sd_mount()){ gfx_printf("Sd is not mounted!"); hidWait(); } else FileExplorer("sd:/"); } void CrashTE(){ gfx_printf("%d", *((int*)0)); } void ViewKeys(){ gfx_clearscreen(); for (int i = 0; i < 3; i++){ gfx_printf("\nBis key 0%d: ", i); PrintKey(dumpedKeys.bis_key[i], AES_128_KEY_SIZE * 2); } gfx_printf("\nMaster key 0: "); PrintKey(dumpedKeys.master_key, AES_128_KEY_SIZE); gfx_printf("\nHeader key: "); PrintKey(dumpedKeys.header_key, AES_128_KEY_SIZE * 2); gfx_printf("\nSave mac key: "); PrintKey(dumpedKeys.save_mac_key, AES_128_KEY_SIZE); hidWait(); } menuPaths mainMenuPaths[] = { NULL, HandleSD, TestControllers, CrashTE, ViewKeys, RebootToPayload }; void EnterMainMenu(){ while (1){ mainMenuEntries[4].hide = !TConf.keysDumped; FunctionMenuHandler(mainMenuEntries, ARR_LEN(mainMenuEntries), mainMenuPaths, ALWAYSREDRAW); } }