mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-02 02:53:09 +08:00
textual Q5
This commit is contained in:
parent
5cc9705ccf
commit
96819da54a
2 changed files with 15 additions and 10 deletions
|
@ -31,7 +31,7 @@
|
|||
static int CmdHelp(const char *Cmd);
|
||||
|
||||
static int usage_lf_pyramid_clone(void) {
|
||||
PrintAndLogEx(NORMAL, "clone a Farpointe/Pyramid tag to a T55x7 tag.");
|
||||
PrintAndLogEx(NORMAL, "clone a Farpointe/Pyramid tag to a T55x7 or Q5/T5555 tag.");
|
||||
PrintAndLogEx(NORMAL, "The facility-code is 8-bit and the card number is 16-bit. Larger values are truncated. ");
|
||||
PrintAndLogEx(NORMAL, "Currently only works on 26bit");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
|
@ -40,7 +40,7 @@ static int usage_lf_pyramid_clone(void) {
|
|||
PrintAndLogEx(NORMAL, " h : this help");
|
||||
PrintAndLogEx(NORMAL, " <Facility-Code> : 8-bit value facility code");
|
||||
PrintAndLogEx(NORMAL, " <Card Number> : 16-bit value card number");
|
||||
PrintAndLogEx(NORMAL, " Q5 : optional - clone to Q5 (T5555) instead of T55x7 chip");
|
||||
PrintAndLogEx(NORMAL, " Q5 : optional - specify writing to Q5/T5555 tag");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" lf pyramid clone 123 11223"));
|
||||
|
@ -242,7 +242,8 @@ static int CmdPyramidClone(const char *Cmd) {
|
|||
blocks[0] = T55x7_MODULATION_FSK2a | T55x7_BITRATE_RF_50 | 4 << T55x7_MAXBLOCK_SHIFT;
|
||||
|
||||
// Q5
|
||||
if (tolower(param_getchar(Cmd, 2)) == 'q')
|
||||
bool q5 = tolower(param_getchar(Cmd, 2)) == 'q';
|
||||
if (q5)
|
||||
blocks[0] = T5555_FIXED | T5555_MODULATION_FSK2 | T5555_INVERT_OUTPUT | T5555_SET_BITRATE(50) | 4 << T5555_MAXBLOCK_SHIFT;
|
||||
|
||||
blocks[1] = bytebits_to_byte(bs, 32);
|
||||
|
@ -252,7 +253,7 @@ static int CmdPyramidClone(const char *Cmd) {
|
|||
|
||||
free(bs);
|
||||
|
||||
PrintAndLogEx(INFO, "Preparing to clone Farpointe/Pyramid to T55x7 with Facility Code: %u, Card Number: %u", facilitycode, cardnumber);
|
||||
PrintAndLogEx(INFO, "Preparing to clone Farpointe/Pyramid to " _YELLOW_("%s") " with Facility Code: %u, Card Number: %u", (q5) ? "Q5/T5555" : "T55x7" , facilitycode, cardnumber);
|
||||
print_blocks(blocks, ARRAYLEN(blocks));
|
||||
|
||||
int res = clone_t55xx_tag(blocks, ARRAYLEN(blocks));
|
||||
|
@ -308,7 +309,7 @@ static command_t CommandTable[] = {
|
|||
{"help", CmdHelp, AlwaysAvailable, "this help"},
|
||||
{"demod", CmdPyramidDemod, AlwaysAvailable, "demodulate a Pyramid FSK tag from the GraphBuffer"},
|
||||
{"read", CmdPyramidRead, IfPm3Lf, "attempt to read and extract tag data"},
|
||||
{"clone", CmdPyramidClone, IfPm3Lf, "clone pyramid tag to T55x7 (or to q5/T5555)"},
|
||||
{"clone", CmdPyramidClone, IfPm3Lf, "clone pyramid tag to T55x7 or Q5/T5555"},
|
||||
{"sim", CmdPyramidSim, IfPm3Lf, "simulate pyramid tag"},
|
||||
{NULL, NULL, NULL, NULL}
|
||||
};
|
||||
|
|
|
@ -27,15 +27,15 @@
|
|||
static int CmdHelp(const char *Cmd);
|
||||
|
||||
static int usage_lf_viking_clone(void) {
|
||||
PrintAndLogEx(NORMAL, "clone a Viking AM tag to a T55x7 tag.");
|
||||
PrintAndLogEx(NORMAL, "clone a Viking AM tag to a T55x7 or Q5/T5555 tag.");
|
||||
PrintAndLogEx(NORMAL, "Usage: lf viking clone <Card ID - 8 hex digits> <Q5>");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " <Card Number> : 8 digit hex viking card number");
|
||||
PrintAndLogEx(NORMAL, " <Q5> : specify write to Q5 (t5555 instead of t55x7)");
|
||||
PrintAndLogEx(NORMAL, " <Q5> : specify writing to Q5/T5555 tag)");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" lf viking clone 1A337"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" lf viking clone 1A337 Q5"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" lf viking clone 1A337 Q5") " - encode for Q5/T5555 tag");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -114,7 +114,11 @@ static int CmdVikingClone(const char *Cmd) {
|
|||
|
||||
num_to_bytes(rawID, 8, &payload.blocks[0]);
|
||||
|
||||
PrintAndLogEx(INFO, "Preparing to clone Viking tag - ID " _YELLOW_("%08X")" raw " _YELLOW_("%s"), id, sprint_hex(payload.blocks, sizeof(payload.blocks)));
|
||||
PrintAndLogEx(INFO, "Preparing to clone Viking tag on " _YELLOW_("%s") " - ID " _YELLOW_("%08X")" raw " _YELLOW_("%s")
|
||||
, (Q5) ? "Q5/T5555" : "T55x7"
|
||||
, id
|
||||
, sprint_hex(payload.blocks, sizeof(payload.blocks))
|
||||
);
|
||||
|
||||
clearCommandBuffer();
|
||||
|
||||
|
@ -169,7 +173,7 @@ static command_t CommandTable[] = {
|
|||
{"help", CmdHelp, AlwaysAvailable, "This help"},
|
||||
{"demod", CmdVikingDemod, AlwaysAvailable, "Demodulate a Viking tag from the GraphBuffer"},
|
||||
{"read", CmdVikingRead, IfPm3Lf, "Attempt to read and Extract tag data from the antenna"},
|
||||
{"clone", CmdVikingClone, IfPm3Lf, "clone Viking tag to T55x7 (or to q5/T5555)"},
|
||||
{"clone", CmdVikingClone, IfPm3Lf, "clone Viking tag to T55x7 or Q5/T5555"},
|
||||
{"sim", CmdVikingSim, IfPm3Lf, "simulate Viking tag"},
|
||||
{NULL, NULL, NULL, NULL}
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue