From 2e7cc4191e4921d851355e79789091fde34b68ca Mon Sep 17 00:00:00 2001 From: rgimad Date: Wed, 20 Mar 2024 21:07:37 +0300 Subject: [PATCH] fixed mistake in menuet header, improved formatting --- .gitignore | 3 ++- kexview | Bin 1716 -> 2020 bytes kexview.c | 24 +++++++++++++++++------- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index bf5f8a9..d84b6a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.code-workspace *.exe *.zip -*.img \ No newline at end of file +*.img +tests/ \ No newline at end of file diff --git a/kexview b/kexview index e569d2d532347e5e3a5eacfda5a88a3de26ef8c8..0754d0acc7a6dc395c653b1cb3c1210417968f6a 100644 GIT binary patch literal 2020 zcma)7Z)h837=N>-U5t@9w1wdxUWMXtG;PO}t&~w=S0*#{YMM?EJ1@L)?CB1pOw=cfC^EI4r=icGkeB865tFZ=?tg>AO z+N4e&=LN6`uK zX7@EN9KwJL&!Znt$(ZQ$B9J#lqrU}mGCP9cJykD00{QF0x@e5II9;^Ih85%3%&(xc zFoCkr;Qe>!bHeN7uWeup-)q4PfJj-eU>3`39eT9kTh@JLVaxNoxa>!0Ll?IAEg z`xb;z@s}3G+WUajPI03x(fHd-Lj7AX)>Zqyl!bLDt!V8IS19V>rzIMA1e+V&1{~JQ z%OhY}U%d~%AsUUg7#4T2YR|yUcRB^4*r}qmBV6J4qyzLlS6AhHs95zcDZq^Df$?Vd zO*;o(HC{h1(BTNEtpbCtKmc6LsXNUkei6G|)Q{+y21j|%YrqgEIX@g@#$kAV&F38r zT!xYxufZ(6W_bA>v&Z15M?+|4mE&j`SVDTd61B!fb1xi=DOJemQivM5_SHRx`%zP?~A#UQZ|#Mh0IJ&Vwx&P zf+Xgihp4-HBhMCsWKvcOAh!)uIxyEe2OdmP8GRv{ROLd!rfp&r@}#lM+w!(guSOH| zOa{5AJgcbl^cDFnEu+dwG}$JFm`Eq3tmg5wB}GYZ_^GFb7?VQqDjGCUMq#z3ZTww;~^oz0}stut+*6||OE zw3fmo7d?mw9(K^%4sRE&t~dr0JSYwk@h~A}JM^FsP^sTbE2Py2FCo8w-+TGKU2d&! zZdy1W5yC#d86o6@y=Ft`%wTH=dJzirAaw3BLP6jj0JmwS3c8*gfk&~LK1ir$p%Cy| zGS-Dnz%`xgyZ$TA*b?R-f32X01d4QtwPd?RG8hxbe^z@BL z>04oc6e7w3iz`9{t9AyIJhw>&G z^Gnu-Ir%UZJnR&l0>191#4ycJFS$t~pv2$p$r1yy;rilO43;?bFn!pNVY$ zU*XJC$%oFGRlsOi+uAU)aGUp-G>s5j7IrXkS`8Ni=rbnAyP&U_OmsoJaZDmzn2O0# z2h={t9SZ()$zng8wk+&pveIGNYPIQr&azlNt2{Ql`&W$`rhXGx<)e8bU+u(?0$x9) zTO07tzhm;nD4;DZy$Y5DZSP*Y4ru8($eNj}=#5s52Bt3QyhE-s>tX27Oqrc&x}NF1 z0@Fzt585m}!O~8+1gv3H{C^Wz@T%_=FXJ-1e=C#BRqhy2Fbs8gp{>`9@{(D1&Wchh zo?IH|JtHSlb`(lSrL;0=bB%@K*F``x{CqAg0y8ZxCZ!yIQM{IkOJdAO2_ekSMiUuv zT;Xit0bkaWwWG;sJR!#TbdpabqcJ`apO>OiZbbQH8?y1RJj;ry=lRf;#bt!(m}gi_@% diff --git a/kexview.c b/kexview.c index 3f95120..a1beac1 100644 --- a/kexview.c +++ b/kexview.c @@ -7,6 +7,7 @@ typedef struct { char signature[SIGNATURE_SIZE]; + uint32_t version; uint32_t start_address; uint32_t file_size; uint32_t memory_required; @@ -34,15 +35,16 @@ void show_menuet_xx(const char *fpath) { printf("Error: Invalid signature.\n"); return; } - printf("Version: %.*s\n", SIGNATURE_SIZE, header.signature); - printf("Start Address: 0x%x\n", header.start_address); - printf("File Size: %u bytes\n", header.file_size); - printf("Memory Required: %u bytes\n", header.memory_required); - printf("ESP Value: 0x%x\n", header.esp_value); + printf("Signature: %.*s\n", SIGNATURE_SIZE, header.signature); + printf("Version: 0x%x\n", header.version); + printf("Start Address: 0x%x\n", header.start_address); + printf("File Size: %u bytes\n", header.file_size); + printf("Memory Required: %u bytes\n", header.memory_required); + printf("ESP Value: 0x%x\n", header.esp_value); printf("Parameter Address: 0x%x\n", header.param_address); printf("File Path Address: 0x%x\n", header.file_path_address); if (strncmp(header.signature, "MENUET02", SIGNATURE_SIZE) == 0) { - printf("TLS Data Address: 0x%x\n", header.tls_data_address); + printf("TLS Data Address: 0x%x\n", header.tls_data_address); } } @@ -52,6 +54,7 @@ void show_library(const char *fpath) { printf("Failed to load library."); return; } + printf("Export table:\n\nFunction Address\n-------------------------------------\n"); size_t i = 0; for (;;) { char *func_name = (table + i)->func_name; @@ -62,7 +65,14 @@ void show_library(const char *fpath) { } return; } else { - printf("%s %p\n", func_name, func_ptr); + printf("%s", func_name); + int x = strlen(func_name); + while (x < 25) { + putc(' '); + x++; + } + putc(' '); + printf(" 0x%x\n", func_ptr); } i++; }