mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-27 23:47:48 +08:00
CHG: forgot some changes to previous commit.
This commit is contained in:
parent
b804b9cdb8
commit
6ac2301423
2 changed files with 38 additions and 8 deletions
client
|
@ -51,14 +51,14 @@ int CmdEM410xRead(const char *Cmd)
|
||||||
int usage_lf_em410x_sim(void) {
|
int usage_lf_em410x_sim(void) {
|
||||||
PrintAndLog("Simulating EM410x tag");
|
PrintAndLog("Simulating EM410x tag");
|
||||||
PrintAndLog("");
|
PrintAndLog("");
|
||||||
PrintAndLog("Usage: lf em4x em410xsim [h] <uid> <clock>");
|
PrintAndLog("Usage: lf em 410xsim [h] <uid> <clock>");
|
||||||
PrintAndLog("Options:");
|
PrintAndLog("Options:");
|
||||||
PrintAndLog(" h - this help");
|
PrintAndLog(" h - this help");
|
||||||
PrintAndLog(" uid - uid (10 HEX symbols)");
|
PrintAndLog(" uid - uid (10 HEX symbols)");
|
||||||
PrintAndLog(" clock - clock (32|64) (optional)");
|
PrintAndLog(" clock - clock (32|64) (optional)");
|
||||||
PrintAndLog("samples:");
|
PrintAndLog("samples:");
|
||||||
PrintAndLog(" lf em4x em410xsim 0F0368568B");
|
PrintAndLog(" lf em 410xsim 0F0368568B");
|
||||||
PrintAndLog(" lf em4x em410xsim 0F0368568B 32");
|
PrintAndLog(" lf em 410xsim 0F0368568B 32");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,7 +147,6 @@ int CmdEM410xWatch(const char *Cmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
CmdLFRead("s");
|
CmdLFRead("s");
|
||||||
//getSamples("8201",true); //capture enough to get 2 complete preambles (4096*2+9)
|
|
||||||
getSamples("6144",true);
|
getSamples("6144",true);
|
||||||
} while (!CmdEM410xRead(""));
|
} while (!CmdEM410xRead(""));
|
||||||
|
|
||||||
|
@ -1081,12 +1080,12 @@ static command_t CommandTable[] = {
|
||||||
{"help", CmdHelp, 1, "This help"},
|
{"help", CmdHelp, 1, "This help"},
|
||||||
{"410xdemod", CmdEMdemodASK, 0, "[findone] -- Extract ID from EM410x tag (option 0 for continuous loop, 1 for only 1 tag)"},
|
{"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"},
|
{"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)"},
|
{"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)" },
|
{"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"},
|
{"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"},
|
{"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"},
|
{"4x05read", CmdEM4x05Read, 0, "read word data from EM4205/4305"},
|
||||||
{"4x05write", CmdEM4x05Write, 0, "write word data to EM4205/4305"},
|
{"4x05write", CmdEM4x05Write, 0, "write word data to EM4205/4305"},
|
||||||
{"4x50read", CmdEM4x50Read, 0, "read word data from EM4x50"},
|
{"4x50read", CmdEM4x50Read, 0, "read word data from EM4x50"},
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#include "sleep.h"
|
#include "sleep.h"
|
||||||
#include "cmdparser.h"
|
#include "cmdparser.h"
|
||||||
#include "cmdhw.h"
|
#include "cmdhw.h"
|
||||||
|
#include "whereami.h"
|
||||||
|
|
||||||
|
|
||||||
// a global mutex to prevent interlaced printing from different threads
|
// a global mutex to prevent interlaced printing from different threads
|
||||||
pthread_mutex_t print_lock;
|
pthread_mutex_t print_lock;
|
||||||
|
@ -71,7 +73,7 @@ byte_t* prx = rx;
|
||||||
// printf("██████╔╝██╔████╔██║ ████╔╝\n");
|
// printf("██████╔╝██╔████╔██║ ████╔╝\n");
|
||||||
// printf("██╔═══╝ ██║╚██╔╝██║ ══█║ iceman@icesql.net\n");
|
// printf("██╔═══╝ ██║╚██╔╝██║ ══█║ iceman@icesql.net\n");
|
||||||
// printf("██║ ██║ ╚═╝ ██║ ████╔╝ https://github.com/iceman1001/proxmark3\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) {
|
if (script_file) {
|
||||||
fclose(script_file);
|
fclose(script_file);
|
||||||
script_file = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
write_history(".history");
|
write_history(".history");
|
||||||
|
@ -218,6 +219,33 @@ static void dumpAllHelp(int markdown)
|
||||||
dumpCommandsRecursive(cmds, 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[]) {
|
int main(int argc, char* argv[]) {
|
||||||
srand(time(0));
|
srand(time(0));
|
||||||
|
|
||||||
|
@ -240,6 +268,9 @@ int main(int argc, char* argv[]) {
|
||||||
dumpAllHelp(1);
|
dumpAllHelp(1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_my_executable_path();
|
||||||
|
|
||||||
// Make sure to initialize
|
// Make sure to initialize
|
||||||
struct main_loop_arg marg = {
|
struct main_loop_arg marg = {
|
||||||
.usb_present = 0,
|
.usb_present = 0,
|
||||||
|
|
Loading…
Add table
Reference in a new issue