mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 05:43:48 -07:00
lf securakey read - renamed and now support contiuous mode
This commit is contained in:
parent
2ff7221874
commit
2ad7a5b7f1
1 changed files with 32 additions and 12 deletions
|
@ -104,9 +104,11 @@ int demodSecurakey(bool verbose) {
|
||||||
if (bitLen <= 32)
|
if (bitLen <= 32)
|
||||||
PrintAndLogEx(SUCCESS, "Wiegand: " _GREEN_("%08X") " parity (%s)", (lWiegand << (bitLen / 2)) | rWiegand, parity ? _GREEN_("ok") : _RED_("fail"));
|
PrintAndLogEx(SUCCESS, "Wiegand: " _GREEN_("%08X") " parity (%s)", (lWiegand << (bitLen / 2)) | rWiegand, parity ? _GREEN_("ok") : _RED_("fail"));
|
||||||
|
|
||||||
PrintAndLogEx(INFO, "\nHow the FC translates to printed FC is unknown");
|
if ( verbose ) {
|
||||||
PrintAndLogEx(INFO, "How the checksum is calculated is unknown");
|
PrintAndLogEx(INFO, "\nHow the FC translates to printed FC is unknown");
|
||||||
PrintAndLogEx(INFO, "Help the community identify this format further\nby sharing your tag on the pm3 forum or discord");
|
PrintAndLogEx(INFO, "How the checksum is calculated is unknown");
|
||||||
|
PrintAndLogEx(INFO, "Help the community identify this format further\nby sharing your tag on the pm3 forum or discord");
|
||||||
|
}
|
||||||
return PM3_SUCCESS;
|
return PM3_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,10 +117,28 @@ static int CmdSecurakeyDemod(const char *Cmd) {
|
||||||
return demodSecurakey(true);
|
return demodSecurakey(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int CmdSecurakeyRead(const char *Cmd) {
|
static int CmdSecurakeyReader(const char *Cmd) {
|
||||||
(void)Cmd; // Cmd is not used so far
|
CLIParserContext *ctx;
|
||||||
lf_read(false, 8000);
|
CLIParserInit(&ctx, "lf securakey reader",
|
||||||
return demodSecurakey(true);
|
"read a Securakey tag",
|
||||||
|
"lf securakey reader -@ -> continuous reader mode"
|
||||||
|
);
|
||||||
|
|
||||||
|
void *argtable[] = {
|
||||||
|
arg_param_begin,
|
||||||
|
arg_lit0("@", NULL, "optional - continuous reader mode"),
|
||||||
|
arg_param_end
|
||||||
|
};
|
||||||
|
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||||
|
bool cm = arg_get_lit(ctx, 1);
|
||||||
|
CLIParserFree(ctx);
|
||||||
|
|
||||||
|
do {
|
||||||
|
lf_read(false, 8000);
|
||||||
|
demodSecurakey(!cm);
|
||||||
|
} while (cm && !kbd_enter_pressed());
|
||||||
|
|
||||||
|
return PM3_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int CmdSecurakeyClone(const char *Cmd) {
|
static int CmdSecurakeyClone(const char *Cmd) {
|
||||||
|
@ -220,11 +240,11 @@ static int CmdSecurakeySim(const char *Cmd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static command_t CommandTable[] = {
|
static command_t CommandTable[] = {
|
||||||
{"help", CmdHelp, AlwaysAvailable, "This help"},
|
{"help", CmdHelp, AlwaysAvailable, "This help"},
|
||||||
{"demod", CmdSecurakeyDemod, AlwaysAvailable, "Demodulate an Securakey tag from the GraphBuffer"},
|
{"demod", CmdSecurakeyDemod, AlwaysAvailable, "Demodulate an Securakey tag from the GraphBuffer"},
|
||||||
{"read", CmdSecurakeyRead, IfPm3Lf, "Attempt to read and extract tag data from the antenna"},
|
{"reader", CmdSecurakeyReader, IfPm3Lf, "Attempt to read and extract tag data from the antenna"},
|
||||||
{"clone", CmdSecurakeyClone, IfPm3Lf, "clone Securakey tag to T55x7"},
|
{"clone", CmdSecurakeyClone, IfPm3Lf, "clone Securakey tag to T55x7"},
|
||||||
{"sim", CmdSecurakeySim, IfPm3Lf, "simulate Securakey tag"},
|
{"sim", CmdSecurakeySim, IfPm3Lf, "simulate Securakey tag"},
|
||||||
{NULL, NULL, NULL, NULL}
|
{NULL, NULL, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue