Skip to content

Commit

Permalink
fix doc and add similar to
Browse files Browse the repository at this point in the history
  • Loading branch information
doegox committed Mar 27, 2024
1 parent 700d558 commit c183894
Show file tree
Hide file tree
Showing 19 changed files with 70 additions and 35 deletions.
2 changes: 1 addition & 1 deletion client/src/cmdlfawid.c
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "this help"},
{"demod", CmdAWIDDemod, AlwaysAvailable, "demodulate an AWID FSK tag from the GraphBuffer"},
{"reader", CmdAWIDReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdAWIDClone, IfPm3Lf, "clone AWID tag to T55x7 or Q5/T5555"},
{"clone", CmdAWIDClone, IfPm3Lf, "clone AWID tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdAWIDSim, IfPm3Lf, "simulate AWID tag"},
{"brute", CmdAWIDBrute, IfPm3Lf, "bruteforce card number against reader"},
{"watch", CmdAWIDWatch, IfPm3Lf, "continuously watch for cards. Reader mode"},
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfdestron.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdDestronDemod, AlwaysAvailable, "demodulate an Destron tag from the GraphBuffer"},
{"reader", CmdDestronReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdDestronClone, IfPm3Lf, "clone Destron tag to T55x7"},
{"clone", CmdDestronClone, IfPm3Lf, "clone Destron tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdDestronSim, IfPm3Lf, "simulate Destron tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfem410x.c
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ static command_t CommandTable[] = {
{"brute", CmdEM410xBrute, IfPm3Lf, "reader bruteforce attack by simulating EM410x tags"},
{"watch", CmdEM410xWatch, IfPm3Lf, "watches for EM410x 125/134 kHz tags"},
{"spoof", CmdEM410xSpoof, IfPm3Lf, "watches for EM410x 125/134 kHz tags, and replays them" },
{"clone", CmdEM410xClone, IfPm3Lf, "write EM410x Tag ID to T55x7 or Q5/T5555 tag"},
{"clone", CmdEM410xClone, IfPm3Lf, "clone EM410x Tag ID to T55x7, Q5/T5555 or EM4305/4469"},
{NULL, NULL, NULL, NULL}
};

Expand Down
69 changes: 52 additions & 17 deletions client/src/cmdlfem4x05.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,40 @@ static const char *em4x69_annotation [] = {"Info", "UID", "Password", "Lock", "C

static int CmdHelp(const char *Cmd);

static int CmdEM4x05CloneHelp(const char *Cmd) {
CLIParserContext *ctx;
CLIParserInit(&ctx, "lf em 4x05 clonehelp",
"Display a list of available commands for cloning specific techs on EM4305/4469 tags",
"lf em 4x05 clonehelp"
);
void *argtable[] = {
arg_param_begin,
arg_param_end
};
CLIExecWithReturn(ctx, Cmd, argtable, true);
CLIParserFree(ctx);
PrintAndLogEx(NORMAL, "For cloning specific techs on EM4305/4469 tags, see commands available in corresponding LF sub-menus, e.g.:");
PrintAndLogEx(NORMAL, _GREEN_("lf awid clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf destron clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf em 410x clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf fdxb clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf gallagher clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf hid clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf jablotron clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf keri clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf nedap clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf nexwatch clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf noralsy clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf pac clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf paradox clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf presco clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf pyramid clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf securakey clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf viking clone --em"));
PrintAndLogEx(NORMAL, _GREEN_("lf visa2000 clone --em"));
return PM3_SUCCESS;
}

// 1 = EM4x69
// 2 = EM4x05
static em_tech_type_t em_get_card_type(uint32_t config) {
Expand Down Expand Up @@ -2496,7 +2530,7 @@ int CmdEM4x05Sniff(const char *Cmd) {

static int CmdEM4x05View(const char *Cmd) {
CLIParserContext *ctx;
CLIParserInit(&ctx, "lf em ex05 view",
CLIParserInit(&ctx, "lf em 4x05 view",
"Print a EM4205/4305/4369/4469 dump file\n"
"note:\n"
"We don't track if password is known in current dump file formats.\n"
Expand Down Expand Up @@ -2552,7 +2586,7 @@ static int CmdEM4x05View(const char *Cmd) {
static int CmdEM4x05Config(const char *Cmd) {

CLIParserContext *ctx;
CLIParserInit(&ctx, "lf em ex05 config",
CLIParserInit(&ctx, "lf em 4x05 config",
"Create common configuration blocks",
"lf em 4x05 config"
);
Expand Down Expand Up @@ -2595,21 +2629,22 @@ static int CmdEM4x05Config(const char *Cmd) {
}

static command_t CommandTable[] = {
{"-----------", CmdHelp, AlwaysAvailable, "----------------------- " _CYAN_("General") " -----------------------"},
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"-----------", CmdHelp, AlwaysAvailable, "----------------------- " _CYAN_("Operations") " -----------------------"},
{"brute", CmdEM4x05Brute, IfPm3Lf, "Bruteforce password"},
{"chk", CmdEM4x05Chk, IfPm3Lf, "Check passwords from dictionary"},
{"config", CmdEM4x05Config, AlwaysAvailable, "Create common configuration words"},
{"demod", CmdEM4x05Demod, AlwaysAvailable, "Demodulate a EM4x05/EM4x69 tag from the GraphBuffer"},
{"dump", CmdEM4x05Dump, IfPm3Lf, "Dump EM4x05/EM4x69 tag"},
{"info", CmdEM4x05Info, IfPm3Lf, "Tag information"},
{"read", CmdEM4x05Read, IfPm3Lf, "Read word data from EM4x05/EM4x69"},
{"sniff", CmdEM4x05Sniff, AlwaysAvailable, "Attempt to recover em4x05 commands from sample buffer"},
{"unlock", CmdEM4x05Unlock, IfPm3Lf, "Execute tear off against EM4x05/EM4x69"},
{"view", CmdEM4x05View, AlwaysAvailable, "Display content from tag dump file"},
{"wipe", CmdEM4x05Wipe, IfPm3Lf, "Wipe EM4x05/EM4x69 tag"},
{"write", CmdEM4x05Write, IfPm3Lf, "Write word data to EM4x05/EM4x69"},
{"-----------", CmdHelp, AlwaysAvailable, "----------------------- " _CYAN_("General") " -----------------------"},
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"-----------", CmdHelp, AlwaysAvailable, "----------------------- " _CYAN_("Operations") " -----------------------"},
{"clonehelp", CmdEM4x05CloneHelp, IfPm3Lf, "Shows the available clone commands"},
{"brute", CmdEM4x05Brute, IfPm3Lf, "Bruteforce password"},
{"chk", CmdEM4x05Chk, IfPm3Lf, "Check passwords from dictionary"},
{"config", CmdEM4x05Config, AlwaysAvailable, "Create common configuration words"},
{"demod", CmdEM4x05Demod, AlwaysAvailable, "Demodulate a EM4x05/EM4x69 tag from the GraphBuffer"},
{"dump", CmdEM4x05Dump, IfPm3Lf, "Dump EM4x05/EM4x69 tag"},
{"info", CmdEM4x05Info, IfPm3Lf, "Tag information"},
{"read", CmdEM4x05Read, IfPm3Lf, "Read word data from EM4x05/EM4x69"},
{"sniff", CmdEM4x05Sniff, AlwaysAvailable, "Attempt to recover em4x05 commands from sample buffer"},
{"unlock", CmdEM4x05Unlock, IfPm3Lf, "Execute tear off against EM4x05/EM4x69"},
{"view", CmdEM4x05View, AlwaysAvailable, "Display content from tag dump file"},
{"wipe", CmdEM4x05Wipe, IfPm3Lf, "Wipe EM4x05/EM4x69 tag"},
{"write", CmdEM4x05Write, IfPm3Lf, "Write word data to EM4x05/EM4x69"},
{NULL, NULL, NULL, NULL}
};

Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlffdxb.c
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "this help"},
{"demod", CmdFdxBDemod, AlwaysAvailable, "demodulate a FDX-B ISO11784/85 tag from the GraphBuffer"},
{"reader", CmdFdxBReader, IfPm3Lf, "attempt to read at 134kHz and extract tag data"},
{"clone", CmdFdxBClone, IfPm3Lf, "clone animal ID tag to T55x7 or Q5/T5555"},
{"clone", CmdFdxBClone, IfPm3Lf, "clone animal ID tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdFdxBSim, IfPm3Lf, "simulate Animal ID tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfgallagher.c
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdGallagherDemod, AlwaysAvailable, "demodulate an GALLAGHER tag from the GraphBuffer"},
{"reader", CmdGallagherReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdGallagherClone, IfPm3Lf, "clone GALLAGHER tag to T55x7"},
{"clone", CmdGallagherClone, IfPm3Lf, "clone GALLAGHER tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdGallagherSim, IfPm3Lf, "simulate GALLAGHER tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfhid.c
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "this help"},
{"demod", CmdHIDDemod, AlwaysAvailable, "demodulate HID Prox tag from the GraphBuffer"},
{"reader", CmdHIDReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdHIDClone, IfPm3Lf, "clone HID tag to T55x7"},
{"clone", CmdHIDClone, IfPm3Lf, "clone HID tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdHIDSim, IfPm3Lf, "simulate HID tag"},
{"brute", CmdHIDBrute, IfPm3Lf, "bruteforce facility code or card number against reader"},
{"watch", CmdHIDWatch, IfPm3Lf, "continuously watch for cards. Reader mode"},
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfjablotron.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdJablotronDemod, AlwaysAvailable, "demodulate an Jablotron tag from the GraphBuffer"},
{"reader", CmdJablotronReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdJablotronClone, IfPm3Lf, "clone jablotron tag to T55x7 or Q5/T5555"},
{"clone", CmdJablotronClone, IfPm3Lf, "clone jablotron tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdJablotronSim, IfPm3Lf, "simulate jablotron tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfkeri.c
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdKeriDemod, AlwaysAvailable, "demodulate an KERI tag from the GraphBuffer"},
{"reader", CmdKeriReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdKeriClone, IfPm3Lf, "clone KERI tag to T55x7 or Q5/T5555"},
{"clone", CmdKeriClone, IfPm3Lf, "clone KERI tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdKeriSim, IfPm3Lf, "simulate KERI tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfnedap.c
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdLFNedapDemod, AlwaysAvailable, "demodulate Nedap tag from the GraphBuffer"},
{"reader", CmdLFNedapReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdLFNedapClone, IfPm3Lf, "clone Nedap tag to T55x7 or Q5/T5555"},
{"clone", CmdLFNedapClone, IfPm3Lf, "clone Nedap tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdLFNedapSim, IfPm3Lf, "simulate Nedap tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfnexwatch.c
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdNexWatchDemod, AlwaysAvailable, "demodulate a NexWatch tag (nexkey, quadrakey) from the GraphBuffer"},
{"reader", CmdNexWatchReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdNexWatchClone, IfPm3Lf, "clone NexWatch tag to T55x7"},
{"clone", CmdNexWatchClone, IfPm3Lf, "clone NexWatch tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdNexWatchSim, IfPm3Lf, "simulate NexWatch tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfnoralsy.c
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdNoralsyDemod, AlwaysAvailable, "demodulate an Noralsy tag from the GraphBuffer"},
{"reader", CmdNoralsyReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdNoralsyClone, IfPm3Lf, "clone Noralsy tag to T55x7 or Q5/T5555"},
{"clone", CmdNoralsyClone, IfPm3Lf, "clone Noralsy tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdNoralsySim, IfPm3Lf, "simulate Noralsy tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfpac.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdPacDemod, AlwaysAvailable, "demodulate a PAC tag from the GraphBuffer"},
{"reader", CmdPacReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdPacClone, IfPm3Lf, "clone PAC tag to T55x7"},
{"clone", CmdPacClone, IfPm3Lf, "clone PAC tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdPacSim, IfPm3Lf, "simulate PAC tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfparadox.c
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdParadoxDemod, AlwaysAvailable, "demodulate a Paradox FSK tag from the GraphBuffer"},
{"reader", CmdParadoxReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdParadoxClone, IfPm3Lf, "clone paradox tag"},
{"clone", CmdParadoxClone, IfPm3Lf, "clone paradox tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdParadoxSim, IfPm3Lf, "simulate paradox tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfpresco.c
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdPrescoDemod, AlwaysAvailable, "demodulate Presco tag from the GraphBuffer"},
{"reader", CmdPrescoReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdPrescoClone, IfPm3Lf, "clone presco tag to T55x7 or Q5/T5555"},
{"clone", CmdPrescoClone, IfPm3Lf, "clone presco tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdPrescoSim, IfPm3Lf, "simulate presco tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfpyramid.c
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "this help"},
{"demod", CmdPyramidDemod, AlwaysAvailable, "demodulate a Pyramid FSK tag from the GraphBuffer"},
{"reader", CmdPyramidReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdPyramidClone, IfPm3Lf, "clone pyramid tag to T55x7 or Q5/T5555"},
{"clone", CmdPyramidClone, IfPm3Lf, "clone pyramid tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdPyramidSim, IfPm3Lf, "simulate pyramid tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfsecurakey.c
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdSecurakeyDemod, AlwaysAvailable, "demodulate an Securakey tag from the GraphBuffer"},
{"reader", CmdSecurakeyReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdSecurakeyClone, IfPm3Lf, "clone Securakey tag to T55x7"},
{"clone", CmdSecurakeyClone, IfPm3Lf, "clone Securakey tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdSecurakeySim, IfPm3Lf, "simulate Securakey tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfviking.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdVikingDemod, AlwaysAvailable, "demodulate a Viking tag from the GraphBuffer"},
{"reader", CmdVikingReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdVikingClone, IfPm3Lf, "clone Viking tag to T55x7 or Q5/T5555"},
{"clone", CmdVikingClone, IfPm3Lf, "clone Viking tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdVikingSim, IfPm3Lf, "simulate Viking tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down
2 changes: 1 addition & 1 deletion client/src/cmdlfvisa2000.c
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ static command_t CommandTable[] = {
{"help", CmdHelp, AlwaysAvailable, "This help"},
{"demod", CmdVisa2kDemod, AlwaysAvailable, "demodulate an VISA2000 tag from the GraphBuffer"},
{"reader", CmdVisa2kReader, IfPm3Lf, "attempt to read and extract tag data"},
{"clone", CmdVisa2kClone, IfPm3Lf, "clone Visa2000 tag to T55x7 or Q5/T5555"},
{"clone", CmdVisa2kClone, IfPm3Lf, "clone Visa2000 tag to T55x7, Q5/T5555 or EM4305/4469"},
{"sim", CmdVisa2kSim, IfPm3Lf, "simulate Visa2000 tag"},
{NULL, NULL, NULL, NULL}
};
Expand Down

0 comments on commit c183894

Please sign in to comment.