mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-22 06:13:51 -07:00
unifiy file name param / textual
This commit is contained in:
parent
d7421369ad
commit
fc822109de
7 changed files with 26 additions and 18 deletions
|
@ -260,7 +260,7 @@ static int CmdHFCryptoRFDump(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "file", "<filename>", "filename to save dump to"),
|
||||
arg_str0("f", "file", "<fn>", "filename to save dump to"),
|
||||
arg_lit0(NULL, "64", "64byte / 512bit memory"),
|
||||
arg_lit0(NULL, "512", "512byte / 4096bit memory"),
|
||||
arg_param_end
|
||||
|
@ -486,7 +486,7 @@ static int CmdHFCryptoRFESave(const char *Cmd) {
|
|||
);
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "file", "<filename>", "filename of dumpfile"),
|
||||
arg_str0("f", "file", "<fn>", "filename of dumpfile"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
|
|
@ -762,7 +762,7 @@ static int CmdLegicDump(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "file", "<filename>", "specify a filename for dump file"),
|
||||
arg_str0("f", "file", "<fn>", "specify a filename for dump file"),
|
||||
arg_lit0(NULL, "de", "deobfuscate dump data (xor with MCC)"),
|
||||
arg_param_end
|
||||
};
|
||||
|
@ -1032,7 +1032,7 @@ static int CmdLegicESave(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "file", "<filename>", "Specify a filename to save"),
|
||||
arg_str0("f", "file", "<fn>", "Specify a filename to save"),
|
||||
arg_int0("t", "type", "<dec>", "Tag type"),
|
||||
arg_lit0(NULL, "deobfuscate", "De-obfuscate dump data (xor with MCC)"),
|
||||
arg_param_end
|
||||
|
|
|
@ -650,7 +650,7 @@ static int CmdHfLTODump(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "file", "<filename>", "specify a filename for dumpfile"),
|
||||
arg_str0("f", "file", "<fn>", "specify a filename for dumpfile"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
|
|
@ -2885,7 +2885,7 @@ static int CmdHF14AMfChk(const char *Cmd) {
|
|||
arg_lit0(NULL, "4k", "MIFARE Classic 4k / S70"),
|
||||
arg_lit0(NULL, "emu", "Fill simulator keys from found keys"),
|
||||
arg_lit0(NULL, "dump", "Dump found keys to binary file"),
|
||||
arg_str0("f", "file", "<filename>", "filename of dictionary"),
|
||||
arg_str0("f", "file", "<fn>", "filename of dictionary"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
@ -5031,7 +5031,7 @@ static int CmdHF14AMfice(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "file", "<filename>", "filename of nonce dump"),
|
||||
arg_str0("f", "file", "<fn>", "filename of nonce dump"),
|
||||
arg_u64_0(NULL, "limit", "<dec>", "nonces to be collected"),
|
||||
arg_param_end
|
||||
};
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include "cmdlfem4x50.h"
|
||||
#include <ctype.h>
|
||||
#include "cmdparser.h" // command_t
|
||||
#include "util_posix.h" // msclock
|
||||
#include "fileutils.h"
|
||||
#include "commonutil.h"
|
||||
#include "pmflash.h"
|
||||
|
@ -236,7 +237,7 @@ int CmdEM4x50ESave(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "filename", "<fn>", "data filename"),
|
||||
arg_str0("f", "file", "<fn>", "save filename"),
|
||||
arg_param_end
|
||||
};
|
||||
|
||||
|
@ -406,12 +407,12 @@ int CmdEM4x50Brute(const char *Cmd) {
|
|||
int dur_m = (dur_s - dur_h * 3600) / 60;
|
||||
|
||||
dur_s -= dur_h * 3600 + dur_m * 60;
|
||||
PrintAndLogEx(INFO, "Trying %i passwords in range [0x%08x, 0x%08x]"
|
||||
PrintAndLogEx(INFO, "Trying " _YELLOW_("%i") " passwords in range [0x%08x, 0x%08x]"
|
||||
, no_iter
|
||||
, etd.password1
|
||||
, etd.password2
|
||||
);
|
||||
PrintAndLogEx(INFO, "Estimated duration: %ih%im%is", dur_h, dur_m, dur_s);
|
||||
PrintAndLogEx(INFO, "Estimated duration: %ih %im %is", dur_h, dur_m, dur_s);
|
||||
|
||||
// start
|
||||
clearCommandBuffer();
|
||||
|
@ -421,9 +422,9 @@ int CmdEM4x50Brute(const char *Cmd) {
|
|||
|
||||
// print response
|
||||
if (resp.status == PM3_SUCCESS)
|
||||
PrintAndLogEx(SUCCESS, "Password " _GREEN_("found") ": 0x%08x", resp.data.asDwords[0]);
|
||||
PrintAndLogEx(SUCCESS, "found valid password [ " _GREEN_("%08"PRIX32) " ]", resp.data.asDwords[0]);
|
||||
else
|
||||
PrintAndLogEx(FAILED, "Password: " _RED_("not found"));
|
||||
PrintAndLogEx(WARNING, "brute pwd failed");
|
||||
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -440,7 +441,7 @@ int CmdEM4x50Chk(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "filename", "<fn>", "dictionary filename"),
|
||||
arg_str0("f", "file", "<fn>", "dictionary filename"),
|
||||
arg_param_end
|
||||
};
|
||||
|
||||
|
@ -461,6 +462,8 @@ int CmdEM4x50Chk(const char *Cmd) {
|
|||
PrintAndLogEx(INFO, "treating file as T55xx keys");
|
||||
}
|
||||
|
||||
uint64_t t1 = msclock();
|
||||
|
||||
size_t datalen = 0;
|
||||
|
||||
// 2021 iceman: how many keys shall we reserv space for? The t55xx dictionary has 139 keys.
|
||||
|
@ -508,17 +511,22 @@ int CmdEM4x50Chk(const char *Cmd) {
|
|||
|
||||
// print response
|
||||
if (status == PM3_SUCCESS) {
|
||||
/*
|
||||
PrintAndLogEx(SUCCESS, "Key " _GREEN_("found: %02x %02x %02x %02x"),
|
||||
resp.data.asBytes[3],
|
||||
resp.data.asBytes[2],
|
||||
resp.data.asBytes[1],
|
||||
resp.data.asBytes[0]
|
||||
);
|
||||
*/
|
||||
uint32_t pwd = BYTES2UINT32(resp.data.asBytes);
|
||||
PrintAndLogEx(SUCCESS, "found valid password [ " _GREEN_("%08"PRIX32) " ]", pwd);
|
||||
} else {
|
||||
PrintAndLogEx(FAILED, "No key found");
|
||||
}
|
||||
|
||||
PrintAndLogEx(INFO, "Done");
|
||||
t1 = msclock() - t1;
|
||||
PrintAndLogEx(SUCCESS, "\ntime in check pwd " _YELLOW_("%.0f") " seconds\n", (float)t1 / 1000.0);
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -750,7 +758,7 @@ int CmdEM4x50Dump(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "filename", "<fn>", "dump filename (bin/eml/json)"),
|
||||
arg_str0("f", "file", "<fn>", "dump filename (bin/eml/json)"),
|
||||
arg_str0("p", "pwd", "<hex>", "password, 4 hex bytes, lsb"),
|
||||
arg_param_end
|
||||
};
|
||||
|
@ -1061,7 +1069,7 @@ int CmdEM4x50Restore(const char *Cmd) {
|
|||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("u", "uid", "<hex>", "uid, 4 hex bytes, msb"),
|
||||
arg_str0("f", "filename", "<fn>", "dump filename (bin/eml/json)"),
|
||||
arg_str0("f", "file", "<fn>", "dump filename (bin/eml/json)"),
|
||||
arg_str0("p", "pwd", "<hex>", "password, 4 hex bytes, lsb"),
|
||||
arg_param_end
|
||||
};
|
||||
|
|
|
@ -657,7 +657,7 @@ static int CmdLFHitagCheckChallenges(const char *Cmd) {
|
|||
|
||||
void *argtable[] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "filename", "<fn w/o ext>", "filename to load from"),
|
||||
arg_str0("f", "file", "<fn>", "filename to load ( w/o ext )"),
|
||||
arg_param_end
|
||||
};
|
||||
CLIExecWithReturn(ctx, Cmd, argtable, true);
|
||||
|
|
|
@ -2210,7 +2210,7 @@ static int CmdT55xxDump(const char *Cmd) {
|
|||
// 1 (help) + 3 (two user specified params) + (5 T55XX_DLMODE_SINGLE)
|
||||
void *argtable[4 + 5] = {
|
||||
arg_param_begin,
|
||||
arg_str0("f", "filename", "<fn>", "filename (default is generated on blk 0)"),
|
||||
arg_str0("f", "file", "<fn>", "filename (default is generated on blk 0)"),
|
||||
arg_lit0("o", "override", "override, force pwd read despite danger to card"),
|
||||
arg_str0("p", "pwd", "<hex>", "password (4 hex bytes)"),
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue