From: iceman1001 Date: Fri, 24 Feb 2017 14:00:49 +0000 (+0100) Subject: CHG: forgot some changes to previous commit. X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/6ac23014235b2b16ad64c72bdcc9a971b9c24487 CHG: forgot some changes to previous commit. --- diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index a0bddb2a..cbe85bd4 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -51,14 +51,14 @@ int CmdEM410xRead(const char *Cmd) int usage_lf_em410x_sim(void) { PrintAndLog("Simulating EM410x tag"); PrintAndLog(""); - PrintAndLog("Usage: lf em4x em410xsim [h] "); + PrintAndLog("Usage: lf em 410xsim [h] "); PrintAndLog("Options:"); PrintAndLog(" h - this help"); PrintAndLog(" uid - uid (10 HEX symbols)"); PrintAndLog(" clock - clock (32|64) (optional)"); PrintAndLog("samples:"); - PrintAndLog(" lf em4x em410xsim 0F0368568B"); - PrintAndLog(" lf em4x em410xsim 0F0368568B 32"); + PrintAndLog(" lf em 410xsim 0F0368568B"); + PrintAndLog(" lf em 410xsim 0F0368568B 32"); return 0; } @@ -147,7 +147,6 @@ int CmdEM410xWatch(const char *Cmd) } CmdLFRead("s"); - //getSamples("8201",true); //capture enough to get 2 complete preambles (4096*2+9) getSamples("6144",true); } while (!CmdEM410xRead("")); @@ -1081,12 +1080,12 @@ static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, {"410xdemod", CmdEMdemodASK, 0, "[findone] -- Extract ID from EM410x tag (option 0 for continuous loop, 1 for only 1 tag)"}, {"410xread", CmdEM410xRead, 1, "[clock rate] -- Extract ID from EM410x tag in GraphBuffer"}, - {"410xsim", CmdEM410xSim, 0, " -- Simulate EM410x tag"}, + {"410xsim", CmdEM410xSim, 0, "simulate EM410x tag"}, {"410xwatch", CmdEM410xWatch, 0, "['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)"}, {"410xspoof", CmdEM410xWatchnSpoof, 0, "['h'] --- Watches for EM410x 125/134 kHz tags, and replays them. (option 'h' for 134)" }, {"410xwrite", CmdEM410xWrite, 0, " <'0' T5555> <'1' T55x7> [clock rate] -- Write EM410x UID to T5555(Q5) or T55x7 tag, optionally setting clock rate"}, {"4x05dump", CmdEM4x05Dump, 0, "dump EM4205/4305 tag"}, - {"4x05info", CmdEM4x05Info, 0, "Tag information EM4x05/EM4x69"}, + {"4x05info", CmdEM4x05Info, 0, "tag information EM4x05/EM4x69"}, {"4x05read", CmdEM4x05Read, 0, "read word data from EM4205/4305"}, {"4x05write", CmdEM4x05Write, 0, "write word data to EM4205/4305"}, {"4x50read", CmdEM4x50Read, 0, "read word data from EM4x50"}, diff --git a/client/proxmark3.c b/client/proxmark3.c index b49b4d05..dad2d86b 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -25,6 +25,8 @@ #include "sleep.h" #include "cmdparser.h" #include "cmdhw.h" +#include "whereami.h" + // a global mutex to prevent interlaced printing from different threads pthread_mutex_t print_lock; @@ -71,7 +73,7 @@ byte_t* prx = rx; // printf("██████╔╝██╔████╔██║ ████╔╝\n"); // printf("██╔═══╝ ██║╚██╔╝██║ ══█║ iceman@icesql.net\n"); // printf("██║ ██║ ╚═╝ ██║ ████╔╝ https://github.com/iceman1001/proxmark3\n"); - // printf("╚═╝ ╚═╝ ╚═╝ ╚═══╝v1.6.8\n"); + // printf("╚═╝ ╚═╝ ╚═╝ ╚═══╝v1.7.0\n"); // } @@ -190,7 +192,6 @@ static void *main_loop(void *targ) { if (script_file) { fclose(script_file); - script_file = NULL; } write_history(".history"); @@ -218,6 +219,33 @@ static void dumpAllHelp(int markdown) dumpCommandsRecursive(cmds, markdown); } +static char *my_executable_path = NULL; +static char *my_executable_directory = NULL; + +const char const *get_my_executable_path(void) +{ + return my_executable_path; +} + +const char const *get_my_executable_directory(void) +{ + return my_executable_directory; +} + +static void set_my_executable_path(void) +{ + int path_length = wai_getExecutablePath(NULL, 0, NULL); + if (path_length != -1) { + my_executable_path = (char*)malloc(path_length + 1); + int dirname_length = 0; + if (wai_getExecutablePath(my_executable_path, path_length, &dirname_length) != -1) { + my_executable_path[path_length] = '\0'; + my_executable_directory = (char *)malloc(dirname_length + 2); + strncpy(my_executable_directory, my_executable_path, dirname_length+1); + } + } +} + int main(int argc, char* argv[]) { srand(time(0)); @@ -240,6 +268,9 @@ int main(int argc, char* argv[]) { dumpAllHelp(1); return 0; } + + set_my_executable_path(); + // Make sure to initialize struct main_loop_arg marg = { .usb_present = 0,