Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e61413627 | ||
|
|
ebe9815b7b | ||
|
|
7f85f00db8 | ||
|
|
8151afb446 | ||
|
|
c0f930e75d |
10
README.md
10
README.md
@@ -10,12 +10,12 @@ Navigate around the menu's using the vol+, vol- and power buttons
|
|||||||
## Functions
|
## Functions
|
||||||
- Navigate the SD card
|
- Navigate the SD card
|
||||||
- Navigate the System partition of your sysnand
|
- Navigate the System partition of your sysnand
|
||||||
- Deleting, copying or moving files
|
- Interact with files
|
||||||
- Launching payloads
|
- Deleting, copying or moving files
|
||||||
|
- Launching payloads files
|
||||||
|
- Viewing the hex data of a file
|
||||||
- Dumping your current firmware to sd
|
- Dumping your current firmware to sd
|
||||||
|
- Formatting the sd card
|
||||||
## Screenshot
|
|
||||||

|
|
||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
Based on [Lockpick_RCM](https://github.com/shchmue/Lockpick_RCM), and thus based on [Hekate](https://github.com/CTCaer/hekate)
|
Based on [Lockpick_RCM](https://github.com/shchmue/Lockpick_RCM), and thus based on [Hekate](https://github.com/CTCaer/hekate)
|
||||||
|
|||||||
BIN
example.png
BIN
example.png
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB |
@@ -54,6 +54,7 @@ void fillmainmenu(){
|
|||||||
for (i = 0; i < MAINMENU_AMOUNT; i++){
|
for (i = 0; i < MAINMENU_AMOUNT; i++){
|
||||||
switch (i + 1) {
|
switch (i + 1) {
|
||||||
case 1:
|
case 1:
|
||||||
|
case 5:
|
||||||
if (sd_mounted)
|
if (sd_mounted)
|
||||||
mainmenu[i].property = 1;
|
mainmenu[i].property = 1;
|
||||||
else
|
else
|
||||||
@@ -69,12 +70,6 @@ void fillmainmenu(){
|
|||||||
strcpy(mainmenu[i].name, "\nMount SD");
|
strcpy(mainmenu[i].name, "\nMount SD");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
|
||||||
if (sd_mounted)
|
|
||||||
mainmenu[i].property = 1;
|
|
||||||
else
|
|
||||||
mainmenu[i].property = -1;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -134,16 +129,15 @@ void te_main(){
|
|||||||
case SD_FORMAT:
|
case SD_FORMAT:
|
||||||
res = makemenu(formatmenu, 4);
|
res = makemenu(formatmenu, 4);
|
||||||
|
|
||||||
switch(res){
|
if (res >= 0){
|
||||||
case FORMAT_ALL_FAT32:
|
if(makewaitmenu("Are you sure you want to format your sd?\nThis will delete everything on your SD card\nThis action is irreversible!\n\nPress Vol+/- to cancel\n", "Press Power to continue", 10)){
|
||||||
if (makewaitmenu("Are you sure you want to format your sd?\nThis action is irreversible!\n\nPress Vol+/- to cancel\n", "Press Power to continue", 10))
|
if (format(res)){
|
||||||
format(1);
|
sd_unmount();
|
||||||
break;
|
sd_mounted = false;
|
||||||
case FORMAT_EMUMMC:
|
|
||||||
if (makewaitmenu("Are you sure you want to format your sd?\nThis action is irreversible!\n\nPress Vol+/- to cancel\n", "Press Power to continue", 10))
|
|
||||||
format(0);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CREDITS:
|
case CREDITS:
|
||||||
|
|||||||
@@ -37,8 +37,8 @@ enum toolsmenu_return {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum formatmenu_return {
|
enum formatmenu_return {
|
||||||
FORMAT_ALL_FAT32,
|
FORMAT_EMUMMC = 0,
|
||||||
FORMAT_EMUMMC
|
FORMAT_ALL_FAT32
|
||||||
};
|
};
|
||||||
|
|
||||||
//menu_item mainmenu[MAINMENU_AMOUNT];
|
//menu_item mainmenu[MAINMENU_AMOUNT];
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ int dumpfirmware(){
|
|||||||
gfx_printf("PKG1 version: %d\n", pkg1ver);
|
gfx_printf("PKG1 version: %d\n", pkg1ver);
|
||||||
|
|
||||||
ret = f_mkdir("sd:/tegraexplorer");
|
ret = f_mkdir("sd:/tegraexplorer");
|
||||||
gfx_printf("Creating making sd:/tegraexplorer %d\n", ret);
|
gfx_printf("Creating sd:/tegraexplorer %d\n", ret);
|
||||||
|
|
||||||
ret = f_mkdir("sd:/tegraexplorer/Firmware");
|
ret = f_mkdir("sd:/tegraexplorer/Firmware");
|
||||||
gfx_printf("Creating sd:/tegraexplorer/Firmware %d\n", ret);
|
gfx_printf("Creating sd:/tegraexplorer/Firmware %d\n", ret);
|
||||||
@@ -124,14 +124,14 @@ int dumpfirmware(){
|
|||||||
return fail;
|
return fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
void format(int mode){
|
int format(int mode){
|
||||||
clearscreen();
|
clearscreen();
|
||||||
int res;
|
int res;
|
||||||
bool fatalerror = false;
|
bool fatalerror = false;
|
||||||
DWORD plist[] = {666, 61145088};
|
DWORD plist[] = {666, 61145088};
|
||||||
u32 timer, totalsectors;
|
u32 timer, totalsectors;
|
||||||
BYTE work[FF_MAX_SS];
|
BYTE work[FF_MAX_SS];
|
||||||
DWORD clustsize = 16 * 512;
|
DWORD clustsize = 32768;
|
||||||
BYTE formatoptions = 0;
|
BYTE formatoptions = 0;
|
||||||
formatoptions |= (FM_FAT32);
|
formatoptions |= (FM_FAT32);
|
||||||
//formatoptions |= (FM_SFD);
|
//formatoptions |= (FM_SFD);
|
||||||
@@ -196,4 +196,5 @@ void format(int mode){
|
|||||||
|
|
||||||
gfx_printf("\nPress any button to return%k\nTotal time taken: %ds", COLOR_WHITE, (get_tmr_s() - timer));
|
gfx_printf("\nPress any button to return%k\nTotal time taken: %ds", COLOR_WHITE, (get_tmr_s() - timer));
|
||||||
btn_wait();
|
btn_wait();
|
||||||
|
return fatalerror;
|
||||||
}
|
}
|
||||||
@@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
void displayinfo();
|
void displayinfo();
|
||||||
void displaygpio();
|
void displaygpio();
|
||||||
void format(int mode);
|
int format(int mode);
|
||||||
int dumpfirmware();
|
int dumpfirmware();
|
||||||
Reference in New Issue
Block a user