CHG: forgot some changes to previous commit.

This commit is contained in:
iceman1001 2017-02-24 15:00:49 +01:00
parent b804b9cdb8
commit 6ac2301423
2 changed files with 38 additions and 8 deletions

View file

@ -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] <uid> <clock>");
PrintAndLog("Usage: lf em 410xsim [h] <uid> <clock>");
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, "<UID> -- 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, "<UID> <'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"},

View file

@ -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,