mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-22 14:23:50 -07:00
unified verbose param text and fixed behavior
This commit is contained in:
parent
5b090701f0
commit
05353deb4a
16 changed files with 111 additions and 101 deletions
|
@ -288,7 +288,7 @@ int CmdHFTune(const char *Cmd) {
|
|||
arg_lit0(NULL, "bar", "bar style"),
|
||||
arg_lit0(NULL, "mix", "mixed style"),
|
||||
arg_lit0(NULL, "value", "values style"),
|
||||
arg_lit0(NULL, "stat", "show statistical data after tuning"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
@ -296,7 +296,7 @@ int CmdHFTune(const char *Cmd) {
|
|||
bool is_bar = arg_get_lit(ctx, 2);
|
||||
bool is_mix = arg_get_lit(ctx, 3);
|
||||
bool is_value = arg_get_lit(ctx, 4);
|
||||
bool stat_on = arg_get_lit(ctx, 5);
|
||||
bool verbose = arg_get_lit(ctx, 5);
|
||||
CLIParserFree(ctx);
|
||||
|
||||
if ((is_bar + is_mix + is_value) > 1) {
|
||||
|
@ -319,7 +319,7 @@ int CmdHFTune(const char *Cmd) {
|
|||
|
||||
uint8_t mode[] = {1};
|
||||
SendCommandNG(CMD_MEASURE_ANTENNA_TUNING_HF, mode, sizeof(mode));
|
||||
if (!WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_HF, &resp, 1000)) {
|
||||
if (WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_HF, &resp, 1000) == false) {
|
||||
PrintAndLogEx(WARNING, "Timeout while waiting for Proxmark HF initialization, aborting");
|
||||
return PM3_ETIMEOUT;
|
||||
}
|
||||
|
@ -341,7 +341,7 @@ int CmdHFTune(const char *Cmd) {
|
|||
}
|
||||
|
||||
SendCommandNG(CMD_MEASURE_ANTENNA_TUNING_HF, mode, sizeof(mode));
|
||||
if (!WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_HF, &resp, 1000)) {
|
||||
if (WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_HF, &resp, 1000) == false) {
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(WARNING, "Timeout while waiting for Proxmark HF measure, aborting");
|
||||
break;
|
||||
|
@ -359,7 +359,7 @@ int CmdHFTune(const char *Cmd) {
|
|||
first = false;
|
||||
}
|
||||
v_max = (volt > v_max) ? volt : v_max;
|
||||
if (stat_on) {
|
||||
if (verbose) {
|
||||
v_min = (volt < v_min) ? volt : v_min;
|
||||
v_sum += volt;
|
||||
v_count++;
|
||||
|
@ -369,17 +369,19 @@ int CmdHFTune(const char *Cmd) {
|
|||
mode[0] = 3;
|
||||
|
||||
SendCommandNG(CMD_MEASURE_ANTENNA_TUNING_HF, mode, sizeof(mode));
|
||||
if (!WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_HF, &resp, 1000)) {
|
||||
if (WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_HF, &resp, 1000) == false) {
|
||||
PrintAndLogEx(WARNING, "Timeout while waiting for Proxmark HF shutdown, aborting");
|
||||
return PM3_ETIMEOUT;
|
||||
}
|
||||
PrintAndLogEx(NORMAL, "\x1b%c[2K\r", 30);
|
||||
PrintAndLogEx(INFO, "Done.");
|
||||
if (stat_on) {
|
||||
PrintAndLogEx(INFO, "Min:%u mV", v_min);
|
||||
PrintAndLogEx(INFO, "Max:%u mV", v_max);
|
||||
PrintAndLogEx(INFO, "Average:%.3lf mV", v_sum / (double)v_count);
|
||||
|
||||
if (verbose) {
|
||||
PrintAndLogEx(INFO, "Min....... %u mV", v_min);
|
||||
PrintAndLogEx(INFO, "Max....... %u mV", v_max);
|
||||
PrintAndLogEx(INFO, "Average... %.3lf mV", v_sum / (double)v_count);
|
||||
}
|
||||
|
||||
PrintAndLogEx(INFO, "Done!");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -299,7 +299,8 @@ static int CmdHf14AConfig(const char *Cmd) {
|
|||
|
||||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "hf 14a config",
|
||||
"Configure 14a settings (use with caution)",
|
||||
"Configure 14a settings (use with caution)\n"
|
||||
" `-v` also prints examples for reviving Gen2 cards",
|
||||
"hf 14a config -> Print current configuration\n"
|
||||
"hf 14a config --std -> Reset default configuration (follow standard)\n"
|
||||
"hf 14a config --atqa std -> Follow standard\n"
|
||||
|
@ -326,7 +327,7 @@ static int CmdHf14AConfig(const char *Cmd) {
|
|||
arg_str0(NULL, "cl3", "<std|force|skip>", "Configure SAK<>CL3 behavior"),
|
||||
arg_str0(NULL, "rats", "<std|force|skip>", "Configure RATS behavior"),
|
||||
arg_lit0(NULL, "std", "Reset default configuration: follow all standard"),
|
||||
arg_lit0("v", "verbose", "verbose output, also prints examples for reviving Gen2 cards"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
@ -665,7 +666,7 @@ static int CmdHF14AInfo(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "adds some information to results"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_lit0("n", "nacktest", "test for nack bug"),
|
||||
arg_lit0("s", "aidsearch", "checks if AIDs from aidlist.json is present on the card and prints information about found AIDs"),
|
||||
arg_param_end
|
||||
|
@ -1277,7 +1278,7 @@ static int CmdHF14AAPDU(const char *Cmd) {
|
|||
arg_lit0("s", "select", "activate field and select card"),
|
||||
arg_lit0("k", "keep", "keep signal field ON after receive"),
|
||||
arg_lit0("t", "tlv", "decode TLV"),
|
||||
arg_lit0("d", "decapdu", "decode APDU request"),
|
||||
arg_lit0(NULL, "decode", "decode APDU request"),
|
||||
arg_str0("m", "make", "<hex>", "APDU header, 4 bytes <CLA INS P1 P2>"),
|
||||
arg_lit0("e", "extended", "make extended length apdu if `m` parameter included"),
|
||||
arg_int0("l", "le", "<dec>", "Le APDU parameter if `m` parameter included"),
|
||||
|
@ -2807,7 +2808,7 @@ int CmdHF14ANdefRead(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "file", "<fn>", "save raw NDEF to file"),
|
||||
arg_litn("v", "verbose", 0, 2, "show technical data"),
|
||||
arg_litn("v", "verbose", 0, 2, "verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
@ -3034,7 +3035,7 @@ int CmdHF14ANdefFormat(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_litn("v", "verbose", 0, 2, "show technical data"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
|
|
@ -2332,8 +2332,8 @@ int CmdHF14BNdefRead(const char *Cmd) {
|
|||
);
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "file", "<fn>", "save raw NDEF to file"),
|
||||
arg_litn("v", "verbose", 0, 2, "show technical data"),
|
||||
arg_str0("f", "file", "<fn>", "Save raw NDEF to file"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
|
|
@ -141,6 +141,8 @@ static int CmdHFFidoRegister(const char *cmd) {
|
|||
"Initiate a U2F token registration. Needs two 32-byte hash numbers.\n"
|
||||
"challenge parameter (32b) and application parameter (32b).\n"
|
||||
"The default config filename is `fido2_defparams.json`\n"
|
||||
"note:\n"
|
||||
" `-vv` shows full certificates data\n"
|
||||
"\n",
|
||||
"hf fido reg -> execute command with 2 parameters, filled 0x00\n"
|
||||
"hf fido reg --cp s0 --ap s1 -> execute command with plain parameters\n"
|
||||
|
@ -151,7 +153,7 @@ static int CmdHFFidoRegister(const char *cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose mode. vv - show full certificates data"),
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose output"),
|
||||
arg_lit0("t", "tlv", "Show DER certificate contents in TLV representation"),
|
||||
arg_str0("f", "file", "<fn>", "JSON input file name for parameters"),
|
||||
arg_str0(NULL, "cp", "<str>", "Challenge parameter (1..16 chars)"),
|
||||
|
@ -419,7 +421,7 @@ static int CmdHFFidoAuthenticate(const char *cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_rem("default mode:", "dont-enforce-user-presence-and-sign"),
|
||||
arg_lit0("u", "user", "mode: enforce-user-presence-and-sign"),
|
||||
arg_lit0("c", "check", "mode: check-only"),
|
||||
|
@ -672,8 +674,9 @@ static int CmdHFFido2MakeCredential(const char *cmd) {
|
|||
CLIParserInit(&ctx, "hf fido make",
|
||||
"Execute a FIDO2 Make Credential command. Needs json file with parameters.\n"
|
||||
"Sample file `fido2_defparams.json` in `client/resources/`.\n"
|
||||
"- for yubikey there must be only one option `\"rk\": true` or false"
|
||||
,
|
||||
"- for yubikey there must be only one option `\"rk\": true` or false\n"
|
||||
"note:\n"
|
||||
" `-vv` shows full certificates data\n",
|
||||
"hf fido make --> use default parameters file `fido2_defparams.json`\n"
|
||||
"hf fido make -f test.json --> use parameters file `text.json`"
|
||||
);
|
||||
|
@ -681,7 +684,7 @@ static int CmdHFFido2MakeCredential(const char *cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose mode. vv - show full certificates data"),
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose output"),
|
||||
arg_lit0("t", "tlv", "Show DER certificate contents in TLV representation"),
|
||||
arg_lit0("c", "cbor", "Show CBOR decoded data"),
|
||||
arg_str0("f", "file", "<fn>", "Parameter JSON file name"),
|
||||
|
@ -792,15 +795,16 @@ static int CmdHFFido2GetAssertion(const char *cmd) {
|
|||
"Execute a FIDO2 Get Assertion command. Needs json file with parameters.\n"
|
||||
"Sample file `fido2_defparams.json` in `client/resources/`.\n"
|
||||
"- Needs if `rk` option is `false` (authenticator doesn't store credential to its memory)\n"
|
||||
"- for yubikey there must be only one option `\"up\": true` or false"
|
||||
,
|
||||
"- for yubikey there must be only one option `\"up\": true` or false\n"
|
||||
"note:\n"
|
||||
" `-vv` shows full certificates data\n",
|
||||
"hf fido assert --> default parameters file `fido2_defparams.json`\n"
|
||||
"hf fido assert -f test.json -l --> use parameters file `text.json` and add to request CredentialId");
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose mode. vv - show full certificates data"),
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose output"),
|
||||
arg_lit0("c", "cbor", "Show CBOR decoded data"),
|
||||
arg_lit0("l", "list", "Add CredentialId from json to allowList"),
|
||||
arg_str0("f", "file", "<fn>", "Parameter JSON file name"),
|
||||
|
|
|
@ -891,7 +891,7 @@ static int CmdGallagherReader(const char *cmd) {
|
|||
arg_str0(NULL, "sitekey", "<hex>", "Site key to compute diversified keys (16 bytes)"),
|
||||
arg_lit0("@", "continuous", "Continuous reader mode"),
|
||||
arg_lit0(NULL, "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, cmd, argtable, true);
|
||||
|
@ -960,7 +960,7 @@ static int CmdGallagherClone(const char *cmd) {
|
|||
arg_lit0(NULL, "nocadupdate", "Don't modify the Card Application Directory (only creates the app)"),
|
||||
arg_lit0(NULL, "noappcreate", "Don't create the application (only modifies the CAD)"),
|
||||
arg_lit0(NULL, "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, cmd, argtable, false);
|
||||
|
@ -1109,7 +1109,7 @@ static int CmdGallagherDelete(const char *cmd) {
|
|||
arg_lit0(NULL, "nocadupdate", "Don't modify the Card Application Directory (only deletes the app)"),
|
||||
arg_lit0(NULL, "noappdelete", "Don't delete the application (only modifies the CAD)"),
|
||||
arg_lit0(NULL, "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, cmd, argtable, false);
|
||||
|
|
|
@ -2407,7 +2407,7 @@ static int CmdHF14AMfAutoPWN(const char *Cmd) {
|
|||
arg_str0("f", "file", "<fn>", "filename of dictionary"),
|
||||
arg_lit0(NULL, "slow", "Slower acquisition (required by some non standard cards)"),
|
||||
arg_lit0("l", "legacy", "legacy mode (use the slow `hf mf chk`)"),
|
||||
arg_lit0("v", "verbose", "verbose output (statistics)"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
|
||||
arg_lit0(NULL, "mini", "MIFARE Classic Mini / S20"),
|
||||
arg_lit0(NULL, "1k", "MIFARE Classic 1k / S50 (default)"),
|
||||
|
@ -5907,7 +5907,7 @@ static int CmdHF14AMfMAD(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "show technical data"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_str0(NULL, "aid", "<hex>", "print all sectors with specified aid"),
|
||||
arg_str0("k", "key", "<hex>", "key for printing sectors"),
|
||||
arg_lit0("b", "keyb", "use key B for access printing sectors (by default: key A)"),
|
||||
|
@ -6197,7 +6197,7 @@ int CmdHFMFNDEFRead(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_litn("v", "verbose", 0, 2, "show technical data"),
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose output"),
|
||||
arg_str0(NULL, "aid", "<aid>", "replace default aid for NDEF"),
|
||||
arg_str0("k", "key", "<key>", "replace default key for NDEF"),
|
||||
arg_lit0("b", "keyb", "use key B for access sectors (by default: key A)"),
|
||||
|
|
|
@ -1139,7 +1139,7 @@ static int CmdHF14aDesChk(const char *Cmd) {
|
|||
arg_lit0(NULL, "pattern2b", "Check all 2-byte combinations of key (0000...0000, 0001...0001, 0002...0002, ...)"),
|
||||
arg_str0(NULL, "startp2b", "<pattern>", "Start key (2-byte HEX) for 2-byte search (use with `--pattern2b`)"),
|
||||
arg_str0("j", "json", "<fn>", "Json file name to save keys"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0(NULL, "kdf", "<0|1|2>", "Key Derivation Function (KDF) (0=None, 1=AN10922, 2=Gallagher)"),
|
||||
arg_str0("i", "kdfi", "<hex>", "KDF input (1-31 hex bytes)"),
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
|
@ -1445,7 +1445,7 @@ static int CmdHF14aDesDetect(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -1712,7 +1712,7 @@ static int CmdHF14aDesMAD(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -1882,7 +1882,7 @@ static int CmdHF14ADesSelectApp(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2108,7 +2108,7 @@ static int CmdHF14ADesAuth(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2203,7 +2203,7 @@ static int CmdHF14ADesSetConfiguration(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2314,7 +2314,7 @@ static int CmdHF14ADesChangeKey(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2476,7 +2476,7 @@ static int CmdHF14ADesCreateApp(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2648,7 +2648,7 @@ static int CmdHF14ADesDeleteApp(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2711,7 +2711,7 @@ static int CmdHF14ADesGetUID(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2791,7 +2791,7 @@ static int CmdHF14ADesFormatPICC(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2848,7 +2848,7 @@ static int CmdHF14ADesGetFreeMem(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2910,7 +2910,7 @@ static int CmdHF14ADesChKeySettings(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -2983,7 +2983,7 @@ static int CmdHF14ADesGetKeyVersions(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number for authentication"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3085,7 +3085,7 @@ static int CmdHF14ADesGetKeySettings(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3163,7 +3163,7 @@ static int CmdHF14ADesGetAIDs(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3234,7 +3234,7 @@ static int CmdHF14ADesGetAppNames(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3306,7 +3306,7 @@ static int CmdHF14ADesGetFileIDs(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3380,7 +3380,7 @@ static int CmdHF14ADesGetFileISOIDs(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3453,7 +3453,7 @@ static int CmdHF14ADesGetFileSettings(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3622,7 +3622,7 @@ static int CmdHF14ADesChFileSettings(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3765,7 +3765,7 @@ static int CmdHF14ADesCreateFile(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -3903,7 +3903,7 @@ static int CmdHF14ADesCreateValueFile(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -4029,7 +4029,7 @@ static int CmdHF14ADesCreateRecordFile(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -4148,7 +4148,7 @@ static int CmdHF14ADesCreateTrMACFile(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -4265,7 +4265,7 @@ static int CmdHF14ADesDeleteFile(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -4343,7 +4343,7 @@ static int CmdHF14ADesValueOperations(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -4515,7 +4515,7 @@ static int CmdHF14ADesClearRecordFile(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -4918,7 +4918,7 @@ static int CmdHF14ADesReadData(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -5089,7 +5089,7 @@ static int CmdHF14ADesWriteData(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -5428,7 +5428,7 @@ static int CmdHF14ADesLsFiles(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -5501,7 +5501,7 @@ static int CmdHF14ADesLsApp(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
@ -5567,7 +5567,7 @@ static int CmdHF14ADesDump(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("a", "apdu", "Show APDU requests and responses"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "keyno", "<dec>", "Key number"),
|
||||
arg_str0("t", "algo", "<DES|2TDEA|3TDEA|AES>", "Crypt algo"),
|
||||
arg_str0("k", "key", "<hex>", "Key for authenticate (HEX 8(DES), 16(2TDEA or AES) or 24(3TDEA) bytes)"),
|
||||
|
|
|
@ -532,7 +532,7 @@ static int CmdHFMFPInitPerso(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose mode"),
|
||||
arg_litn("v", "verbose", 0, 2, "Verbose output"),
|
||||
arg_str0("k", "key", "<hex>", "Key, 16 hex bytes"),
|
||||
arg_param_end
|
||||
};
|
||||
|
@ -610,7 +610,7 @@ static int CmdHFMFPCommitPerso(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
// arg_int0(NULL, "sl", "<dec>", "SL mode"),
|
||||
arg_param_end
|
||||
};
|
||||
|
@ -657,7 +657,7 @@ static int CmdHFMFPAuth(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_str1(NULL, "ki", "<hex>", "Key number, 2 hex bytes"),
|
||||
arg_str1(NULL, "key", "<hex>", "Key, 16 hex bytes"),
|
||||
arg_param_end
|
||||
|
@ -713,7 +713,7 @@ static int CmdHFMFPRdbl(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_int0("n", "count", "<dec>", "Blocks count (def: 1)"),
|
||||
arg_lit0("b", "keyb", "Use key B (def: keyA)"),
|
||||
arg_lit0("p", "plain", "Do not use encrypted communication mode between reader and card"),
|
||||
|
@ -831,7 +831,7 @@ static int CmdHFMFPRdsc(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_lit0("b", "keyb", "Use key B (def: keyA)"),
|
||||
arg_lit0("p", "plain", "Do not use encrypted communication mode between reader and card"),
|
||||
arg_lit0(NULL, "nmc", "Do not append MAC to command"),
|
||||
|
@ -938,7 +938,7 @@ static int CmdHFMFPWrbl(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_lit0("b", "keyb", "Use key B (def: keyA)"),
|
||||
arg_int1(NULL, "blk", "<0..255>", "Block number"),
|
||||
arg_lit0("p", "plain", "Do not use encrypted transmission"),
|
||||
|
@ -1049,7 +1049,7 @@ static int CmdHFMFPChKey(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_lit0(NULL, "nmr", "Do not expect MAC in response"),
|
||||
arg_str1(NULL, "ki", "<hex>", "Key Index, 2 hex bytes"),
|
||||
arg_str0("k", "key", "<hex>", "Current sector key, 16 hex bytes"),
|
||||
|
@ -1165,7 +1165,7 @@ static int CmdHFMFPChConf(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_lit0(NULL, "nmr", "Do not expect MAC in response"),
|
||||
arg_int1("c", "conf", "<hex>", "Config block number, 0-3"),
|
||||
arg_str0("k", "key", "<hex>", "Card key, 16 hex bytes"),
|
||||
|
@ -1387,7 +1387,7 @@ static int CmdHFMFPChk(const char *Cmd) {
|
|||
arg_lit0(NULL, "pattern2b", "Check all 2-byte combinations of key (0000...0000, 0001...0001, 0002...0002, ...)"),
|
||||
arg_str0(NULL, "startp2b", "<pattern>", "Start key (2-byte HEX) for 2-byte search (use with `--pattern2b`)"),
|
||||
arg_lit0(NULL, "dump", "Dump found keys to JSON file"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
@ -1661,8 +1661,8 @@ static int CmdHFMFPDump(const char *Cmd) {
|
|||
arg_param_begin,
|
||||
arg_str0("f", "file", "<fn>", "Specify a filename for dump file"),
|
||||
arg_str0("k", "keys", "<fn>", "Specify a filename for keys file"),
|
||||
arg_lit0(NULL, "ns", "no save to file"),
|
||||
arg_lit0("v", "verbose", "Verbose mode"),
|
||||
// arg_lit0(NULL, "ns", "no save to file"),
|
||||
// arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
@ -1735,7 +1735,7 @@ static int CmdHFMFPMAD(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Show technical data"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_str0(NULL, "aid", "<hex>", "Print all sectors with aid"),
|
||||
arg_str0("k", "key", "<hex>", "Key for printing sectors"),
|
||||
arg_lit0("b", "keyb", "Use key B for access printing sectors (def: key A)"),
|
||||
|
@ -1906,7 +1906,7 @@ int CmdHFMFPNDEFRead(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_litn("v", "verbose", 0, 2, "show technical data"),
|
||||
arg_litn("v", "verbose", 0, 2, "verbose output"),
|
||||
arg_str0(NULL, "aid", "<aid>", "replace default aid for NDEF"),
|
||||
arg_str0("k", "key", "<key>", "replace default key for NDEF"),
|
||||
arg_lit0("b", "keyb", "use key B for access sectors (by default: key A)"),
|
||||
|
|
|
@ -2913,7 +2913,7 @@ static int CmdHF14AMfURestore(const char *Cmd) {
|
|||
arg_lit0("s", NULL, "enable special write UID -MAGIC TAG ONLY-"),
|
||||
arg_lit0("e", NULL, "enable special write version/signature -MAGIC NTAG 21* ONLY-"),
|
||||
arg_lit0("r", NULL, "use password found in dumpfile to configure tag. Requires " _YELLOW_("'-e'") " parameter to work"),
|
||||
arg_lit0("v", "verbose", "verbose"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, false);
|
||||
|
@ -4412,7 +4412,7 @@ int CmdHF14MfuNDEFRead(const char *Cmd) {
|
|||
arg_str0("k", "key", "Replace default key for NDEF", NULL),
|
||||
arg_lit0("l", NULL, "Swap entered key's endianness"),
|
||||
arg_str0("f", "file", "<fn>", "Save raw NDEF to file"),
|
||||
arg_litn("v", "verbose", 0, 2, "show technical data"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
|
|
@ -288,7 +288,7 @@ int CmdHFST25TANdefRead(const char *Cmd) {
|
|||
arg_param_begin,
|
||||
arg_str0("p", "pwd", "<hex>", "16 byte read password"),
|
||||
arg_str0("f", "file", "<fn>", "save raw NDEF to file"),
|
||||
arg_litn("v", "verbose", 0, 2, "show technical data"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
|
|
@ -639,7 +639,7 @@ static int CmdHFTexkomReader(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("1", NULL, "Use data from Graphbuffer (offline mode)"),
|
||||
arg_lit0("v", "verbose", "Verbose scan and output"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_lit0("@", NULL, "optional - continuous reader mode"),
|
||||
arg_param_end
|
||||
};
|
||||
|
@ -858,7 +858,7 @@ static int CmdHFTexkomSim(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("v", "verbose", "Verbose work"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_lit0("t", "tk17", "Use TK-17 modulation (TK-13 by default)"),
|
||||
arg_str0(NULL, "raw", "<hex 8 bytes>", "Raw data for texkom card, 8 bytes. Manual modulation select."),
|
||||
arg_str0(NULL, "id", "<hex 4 bytes>", "Raw data for texkom card, 8 bytes. Manual modulation select."),
|
||||
|
|
|
@ -418,7 +418,7 @@ static int CmdVASReader(const char *Cmd) {
|
|||
arg_str0("f", "file", "<fn>", "path to terminal private key file"),
|
||||
arg_str0(NULL, "url", "<str>", "a URL to provide to the mobile device"),
|
||||
arg_lit0("@", NULL, "continuous mode"),
|
||||
arg_lit0("v", "verbose", "log additional information"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, false);
|
||||
|
|
|
@ -116,7 +116,7 @@ static int CmdLFTune(const char *Cmd) {
|
|||
arg_lit0(NULL, "bar", "bar style"),
|
||||
arg_lit0(NULL, "mix", "mixed style"),
|
||||
arg_lit0(NULL, "value", "values style"),
|
||||
arg_lit0(NULL, "stat", "show statistical data after tuning"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
@ -127,7 +127,7 @@ static int CmdLFTune(const char *Cmd) {
|
|||
bool is_bar = arg_get_lit(ctx, 4);
|
||||
bool is_mix = arg_get_lit(ctx, 5);
|
||||
bool is_value = arg_get_lit(ctx, 6);
|
||||
bool stat_on = arg_get_lit(ctx, 7);
|
||||
bool verbose = arg_get_lit(ctx, 7);
|
||||
CLIParserFree(ctx);
|
||||
|
||||
if (divisor < 19) {
|
||||
|
@ -171,7 +171,7 @@ static int CmdLFTune(const char *Cmd) {
|
|||
clearCommandBuffer();
|
||||
|
||||
SendCommandNG(CMD_MEASURE_ANTENNA_TUNING_LF, params, sizeof(params));
|
||||
if (!WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_LF, &resp, 1000)) {
|
||||
if (WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_LF, &resp, 1000) == false) {
|
||||
PrintAndLogEx(WARNING, "Timeout while waiting for Proxmark LF initialization, aborting");
|
||||
return PM3_ETIMEOUT;
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ static int CmdLFTune(const char *Cmd) {
|
|||
}
|
||||
|
||||
SendCommandNG(CMD_MEASURE_ANTENNA_TUNING_LF, params, sizeof(params));
|
||||
if (!WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_LF, &resp, 1000)) {
|
||||
if (WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_LF, &resp, 1000) == false) {
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(WARNING, "Timeout while waiting for Proxmark LF measure, aborting");
|
||||
break;
|
||||
|
@ -212,7 +212,7 @@ static int CmdLFTune(const char *Cmd) {
|
|||
first = false;
|
||||
}
|
||||
v_max = (volt > v_max) ? volt : v_max;
|
||||
if (stat_on) {
|
||||
if (verbose) {
|
||||
v_min = (volt < v_min) ? volt : v_min;
|
||||
v_sum += volt;
|
||||
v_count++;
|
||||
|
@ -227,12 +227,12 @@ static int CmdLFTune(const char *Cmd) {
|
|||
return PM3_ETIMEOUT;
|
||||
}
|
||||
PrintAndLogEx(NORMAL, "\x1b%c[2K\r", 30);
|
||||
PrintAndLogEx(INFO, "Done.");
|
||||
if (stat_on) {
|
||||
PrintAndLogEx(INFO, "Min:%u mV", v_min);
|
||||
PrintAndLogEx(INFO, "Max:%u mV", v_max);
|
||||
PrintAndLogEx(INFO, "Average:%.3lf mV", v_sum / (double)v_count);
|
||||
if (verbose) {
|
||||
PrintAndLogEx(INFO, "Min....... %u mV", v_min);
|
||||
PrintAndLogEx(INFO, "Max....... %u mV", v_max);
|
||||
PrintAndLogEx(INFO, "Average... %.3lf mV", v_sum / (double)v_count);
|
||||
}
|
||||
PrintAndLogEx(INFO, "Done!");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ static int CmdNfcDecode(const char *Cmd) {
|
|||
arg_param_begin,
|
||||
arg_str0("d", "data", "<hex>", "NDEF data to decode"),
|
||||
arg_str0("f", "file", "<fn>", "file to load"),
|
||||
arg_lit0("v", "verbose", "verbose mode"),
|
||||
arg_lit0("v", "verbose", "verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, false);
|
||||
|
|
|
@ -1233,14 +1233,17 @@ static int CmdRelay(const char *Cmd) {
|
|||
CLIParserContext *ctx;
|
||||
CLIParserInit(&ctx, "smart relay",
|
||||
"Make pm3 available to host OS smartcard driver via vpcd to enable use with other software such as GlobalPlatform Pro",
|
||||
"Requires the virtual smartcard daemon to be installed and running, see https://frankmorgner.github.io/vsmartcard/virtualsmartcard/README.html"
|
||||
"Requires the virtual smartcard daemon to be installed and running\n"
|
||||
" see https://frankmorgner.github.io/vsmartcard/virtualsmartcard/README.html\n"
|
||||
"note:\n"
|
||||
" `-v` shows APDU transactions between OS and card\n"
|
||||
);
|
||||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0(NULL, "host", "<str>", "vpcd socket host (default: localhost)"),
|
||||
arg_str0("p", "port", "<int>", "vpcd socket port (default: 35963)"),
|
||||
arg_lit0("v", "verbose", "display APDU transactions between OS and card"),
|
||||
arg_str0(NULL, "host", "<str>", "VPCD socket host (default: localhost)"),
|
||||
arg_str0("p", "port", "<int>", "VPCD socket port (default: 35963)"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
|
|
@ -2699,7 +2699,7 @@ static int CmdEMVReader(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_lit0("w", "wired", "Send data via contact (iso7816) interface. (def: Contactless interface)"),
|
||||
arg_lit0("v", "verbose", "verbose"),
|
||||
arg_lit0("v", "verbose", "Verbose output"),
|
||||
arg_lit0("@", NULL, "continuous reader mode"),
|
||||
arg_param_end
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue