mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-22 14:23:50 -07:00
lf cliparser stuff
This commit is contained in:
parent
8cc9b3e637
commit
487524436c
7 changed files with 91 additions and 20 deletions
|
@ -116,9 +116,19 @@ int demodMotorola(bool verbose) {
|
|||
return PM3_SUCCESS;
|
||||
}
|
||||
|
||||
//see PSKDemod for what args are accepted
|
||||
static int CmdMotorolaDemod(const char *Cmd) {
|
||||
(void)Cmd;
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf motorola demod",
|
||||
"Try to find Motorola preamble, if found decode / descramble data",
|
||||
"lf motorola demod"
|
||||
);
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
CLIParserFree(ctx);
|
||||
return demodMotorola(true);
|
||||
}
|
||||
|
||||
|
@ -235,7 +245,20 @@ static int CmdMotorolaClone(const char *Cmd) {
|
|||
}
|
||||
|
||||
static int CmdMotorolaSim(const char *Cmd) {
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf motorola sim",
|
||||
"Enables simulation of Motorola card with specified card number.\n"
|
||||
"Simulation runs until the button is pressed or another USB command is issued.",
|
||||
"lf motorola sim"
|
||||
);
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
CLIParserFree(ctx);
|
||||
|
||||
// PSK sim.
|
||||
PrintAndLogEx(INFO, " PSK1 at 66 kHz... Interesting.");
|
||||
PrintAndLogEx(INFO, " To be implemented, feel free to contribute!");
|
||||
|
|
|
@ -11,10 +11,8 @@
|
|||
|
||||
#define _GNU_SOURCE
|
||||
#include <string.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "cmdparser.h" // command_t
|
||||
#include "comms.h"
|
||||
#include "crc16.h"
|
||||
|
@ -24,6 +22,8 @@
|
|||
#include "cmdlf.h"
|
||||
#include "lfdemod.h"
|
||||
#include "protocols.h"
|
||||
#include "cliparser.h"
|
||||
#include "cmdlfem4x05.h" // EM defines
|
||||
|
||||
#define FIXED_71 0x71
|
||||
#define FIXED_40 0x40
|
||||
|
@ -262,7 +262,18 @@ int demodNedap(bool verbose) {
|
|||
}
|
||||
|
||||
static int CmdLFNedapDemod(const char *Cmd) {
|
||||
(void)Cmd; // Cmd is not used so far
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf nedap demod",
|
||||
"Try to find Nedap preamble, if found decode / descramble data",
|
||||
"lf nedap demod"
|
||||
);
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
CLIParserFree(ctx);
|
||||
return demodNedap(true);
|
||||
}
|
||||
/* Index map E E
|
||||
|
|
|
@ -217,14 +217,25 @@ int demodNexWatch(bool verbose) {
|
|||
}
|
||||
|
||||
static int CmdNexWatchDemod(const char *Cmd) {
|
||||
(void)Cmd;
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf nexwatch demod",
|
||||
"Try to find Nexwatch preamble, if found decode / descramble data",
|
||||
"lf nexwatch demod"
|
||||
);
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
CLIParserFree(ctx);
|
||||
return demodNexWatch(true);
|
||||
}
|
||||
|
||||
static int CmdNexWatchReader(const char *Cmd) {
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf nexwatch reader",
|
||||
"read a nexwatch tag",
|
||||
"read a Nexwatch tag",
|
||||
"lf nexwatch reader -@ -> continuous reader mode"
|
||||
);
|
||||
|
||||
|
|
|
@ -103,14 +103,25 @@ int demodNoralsy(bool verbose) {
|
|||
}
|
||||
|
||||
static int CmdNoralsyDemod(const char *Cmd) {
|
||||
(void)Cmd; // Cmd is not used so far
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf noralsy demod",
|
||||
"Try to find Noralsy preamble, if found decode / descramble data",
|
||||
"lf noralsy demod"
|
||||
);
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
CLIParserFree(ctx);
|
||||
return demodNoralsy(true);
|
||||
}
|
||||
|
||||
static int CmdNoralsyReader(const char *Cmd) {
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf noralsy reader",
|
||||
"read a noralsy tag",
|
||||
"read a Noralsy tag",
|
||||
"lf noralsy reader -@ -> continuous reader mode"
|
||||
);
|
||||
|
||||
|
@ -133,7 +144,7 @@ static int CmdNoralsyReader(const char *Cmd) {
|
|||
static int CmdNoralsyClone(const char *Cmd) {
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf noralsy clone",
|
||||
"clone a noralsy tag to a T55x7, Q5/T5555 or EM4305/4469 tag.",
|
||||
"clone a Noralsy tag to a T55x7, Q5/T5555 or EM4305/4469 tag.",
|
||||
"lf noralsy clone --cn 112233\n"
|
||||
"lf noralsy clone --cn 112233 --q5 -> encode for Q5/T5555 tag\n"
|
||||
"lf noralsy clone --cn 112233 --em -> encode for EM4305/4469"
|
||||
|
|
|
@ -157,7 +157,18 @@ int demodPac(bool verbose) {
|
|||
}
|
||||
|
||||
static int CmdPacDemod(const char *Cmd) {
|
||||
(void)Cmd;
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf pac demod",
|
||||
"Try to find PAC/Stanley preamble, if found decode / descramble data",
|
||||
"lf pac demod"
|
||||
);
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
CLIParserFree(ctx);
|
||||
return demodPac(true);
|
||||
}
|
||||
|
||||
|
@ -165,7 +176,7 @@ static int CmdPacReader(const char *Cmd) {
|
|||
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf pac reader",
|
||||
"read a pac tag",
|
||||
"read a PAC/Stanley tag",
|
||||
"lf pac reader -@ -> continuous reader mode"
|
||||
);
|
||||
|
||||
|
|
|
@ -170,7 +170,18 @@ int demodParadox(bool verbose) {
|
|||
}
|
||||
|
||||
static int CmdParadoxDemod(const char *Cmd) {
|
||||
(void)Cmd; // Cmd is not used so far
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "lf paradox demod",
|
||||
"Try to find Paradox preamble, if found decode / descramble data",
|
||||
"lf paradox demod"
|
||||
);
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
CLIParserFree(ctx);
|
||||
return demodParadox(true);
|
||||
}
|
||||
|
||||
|
|
|
@ -257,17 +257,10 @@ lf io sim
|
|||
lf io watch
|
||||
lf jablotron sim
|
||||
lf keri demod
|
||||
lf motorola demod
|
||||
lf motorola sim
|
||||
lf nedap demod
|
||||
lf nedap generate
|
||||
lf nedap read
|
||||
lf nedap clone
|
||||
lf nedap sim
|
||||
lf nexwatch demod
|
||||
lf noralsy demod
|
||||
lf pac demod
|
||||
lf paradox demod
|
||||
lf pcf7931 read
|
||||
lf pcf7931 write
|
||||
lf pcf7931 config
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue