1
0
Fork 0
mirror of https://github.com/suchmememanyskill/TegraExplorer.git synced 2024-11-26 13:52:06 +00:00

print hex

This commit is contained in:
Such Meme, Many Skill 2019-12-07 21:49:58 +01:00
parent b0094f133c
commit 8731550688
6 changed files with 59 additions and 8 deletions

View file

@ -6134,7 +6134,7 @@ FRESULT f_fdisk (
sz_part = (DWORD)sz_cyl * p_cyl;
if (i == 0) { /* Exclude first track of cylinder 0 */
s_hd = 1;
s_part += 32831; sz_part -= 32831;
s_part += 32768; sz_part -= 32768;
} else {
s_hd = 0;
}

View file

@ -17,15 +17,16 @@ u8 clipboardhelper = 0;
extern const char sizevalues[4][3];
extern int launch_payload(char *path);
menu_item explfilemenu[8] = {
menu_item explfilemenu[9] = {
{"-- File Menu --", COLOR_BLUE, -1, 0},
{"FILE", COLOR_GREEN, -1, 0},
{"\nSIZE", COLOR_VIOLET, -1, 0},
{"\n\n\nBack", COLOR_WHITE, -1, 1},
{"\nCopy to clipboard", COLOR_BLUE, COPY, 1},
{"Move to clipboard", COLOR_BLUE, MOVE, 1},
{"\nDelete file", COLOR_RED, DELETE, 1},
{"\nLaunch Payload", COLOR_ORANGE, PAYLOAD, 1}
{"\nDelete file\n", COLOR_RED, DELETE, 1},
{"Launch Payload", COLOR_ORANGE, PAYLOAD, 1},
{"View Hex", COLOR_GREEN, HEXVIEW, 1}
};
void writecurpath(const char *in){
@ -104,6 +105,46 @@ bool checkfile(char* path){
return true;
}
void viewbytes(char *path){
FIL in;
u8 print[2048];
u32 size;
QWORD offset = 0;
int res;
clearscreen();
res = f_open(&in, path, FA_READ | FA_OPEN_EXISTING);
if (res != FR_OK){
message("fuck", COLOR_RED);
return;
}
msleep(200);
while (1){
f_lseek(&in, offset * 16);
res = f_read(&in, &print, 2048 * sizeof(u8), &size);
if (res != FR_OK){
message("ohgod", COLOR_RED);
}
printbytes(print, size, offset * 16);
res = btn_read();
if (!res)
res = btn_wait();
if (res & BTN_VOL_DOWN && 2048 * sizeof(u8) == size)
offset++;
if (res & BTN_VOL_UP && offset > 0)
offset--;
if (res & BTN_POWER)
break;
}
f_close(&in);
}
void addobject(char* name, int spot, bool isfol, bool isarc){
size_t size = strlen(name) + 1;
fileobjects[spot].property = 0;
@ -206,7 +247,7 @@ void filemenu(const char *startpath){
else
explfilemenu[7].property = -1;
tempint = makemenu(explfilemenu, 8);
tempint = makemenu(explfilemenu, 9);
switch (tempint){
case COPY:
@ -227,6 +268,9 @@ void filemenu(const char *startpath){
case PAYLOAD:
launch_payload(getnextloc(currentpath, fileobjects[res - 1].name));
break;
case HEXVIEW:
viewbytes(getnextloc(currentpath, fileobjects[res - 1].name));
break;
}
}
}

View file

@ -30,7 +30,8 @@ enum filemenuoptions {
COPY = 1,
MOVE,
DELETE,
PAYLOAD
PAYLOAD,
HEXVIEW
};
int readfolder(const char *path);

View file

@ -80,6 +80,11 @@ int makemenu(menu_item menu[], int menuamount){
}
}
void printbytes(u8 print[], u32 size, u32 offset){
gfx_con_setpos(0, 31);
gfx_hexdump(offset, print, size * sizeof(u8));
}
void printfsentry(fs_entry file, bool highlight, bool refresh){
int size = 0;
char *display;

View file

@ -6,3 +6,4 @@ int makemenu(menu_item menu[], int menuamount);
int message(char* message, u32 color);
void clearscreen();
int makefilemenu(fs_entry *files, int amount, char *path);
void printbytes(u8 print[], u32 size, u32 offset);

View file

@ -31,7 +31,7 @@ void displayinfo(){
temp_sect = tot_sect;
temp_sect -= 61145088;
gfx_printf("\n1st part: %d\n2nd part: 61145088\n\n", temp_sect);
gfx_printf("\n%k1st part: %d\n2nd part: 61145088\n\n%k", COLOR_RED, temp_sect, COLOR_WHITE);
disk_initialize(0);
disk_ioctl(0, GET_SECTOR_COUNT, &sz_disk);