mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
chg: 'hf mf sim' - textual
This commit is contained in:
parent
5cc3a1b717
commit
ef95d8c742
1 changed files with 18 additions and 10 deletions
|
@ -2145,6 +2145,8 @@ static int CmdHF14AMfSim(const char *Cmd) {
|
||||||
uint8_t cmdp = 0;
|
uint8_t cmdp = 0;
|
||||||
bool errors = false, verbose = false, setEmulatorMem = false;
|
bool errors = false, verbose = false, setEmulatorMem = false;
|
||||||
nonces_t data[1];
|
nonces_t data[1];
|
||||||
|
char csize[13] = { 0 };
|
||||||
|
char uidsize[8] = { 0 };
|
||||||
|
|
||||||
while (param_getchar(Cmd, cmdp) != 0x00 && !errors) {
|
while (param_getchar(Cmd, cmdp) != 0x00 && !errors) {
|
||||||
switch (tolower(param_getchar(Cmd, cmdp))) {
|
switch (tolower(param_getchar(Cmd, cmdp))) {
|
||||||
|
@ -2165,24 +2167,21 @@ static int CmdHF14AMfSim(const char *Cmd) {
|
||||||
case 't':
|
case 't':
|
||||||
switch (param_get8(Cmd, cmdp + 1)) {
|
switch (param_get8(Cmd, cmdp + 1)) {
|
||||||
case 0:
|
case 0:
|
||||||
// Mifare MINI
|
|
||||||
flags |= FLAG_MF_MINI;
|
flags |= FLAG_MF_MINI;
|
||||||
break;
|
sprintf(csize, "MINI");
|
||||||
case 1:
|
|
||||||
// Mifare Classic 1k
|
|
||||||
flags |= FLAG_MF_1K;
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
// Mifare Classic 2k
|
|
||||||
flags |= FLAG_MF_2K;
|
flags |= FLAG_MF_2K;
|
||||||
|
sprintf(csize, "2K with RATS");
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
// Mifare Classic 4k
|
|
||||||
flags |= FLAG_MF_4K;
|
flags |= FLAG_MF_4K;
|
||||||
|
sprintf(csize, "4K");
|
||||||
break;
|
break;
|
||||||
|
case 1:
|
||||||
default:
|
default:
|
||||||
// Mifare Classic 1k
|
|
||||||
flags |= FLAG_MF_1K;
|
flags |= FLAG_MF_1K;
|
||||||
|
sprintf(csize, "1K");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
cmdp += 2;
|
cmdp += 2;
|
||||||
|
@ -2192,12 +2191,15 @@ static int CmdHF14AMfSim(const char *Cmd) {
|
||||||
switch (uidlen) {
|
switch (uidlen) {
|
||||||
case 20:
|
case 20:
|
||||||
flags |= FLAG_10B_UID_IN_DATA;
|
flags |= FLAG_10B_UID_IN_DATA;
|
||||||
|
sprintf(uidsize, "10 byte");
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
flags |= FLAG_7B_UID_IN_DATA;
|
flags |= FLAG_7B_UID_IN_DATA;
|
||||||
|
sprintf(uidsize, "7 byte");
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
flags |= FLAG_4B_UID_IN_DATA;
|
flags |= FLAG_4B_UID_IN_DATA;
|
||||||
|
sprintf(uidsize, "4 byte");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return usage_hf14_mfsim();
|
return usage_hf14_mfsim();
|
||||||
|
@ -2222,11 +2224,17 @@ static int CmdHF14AMfSim(const char *Cmd) {
|
||||||
if (errors) return usage_hf14_mfsim();
|
if (errors) return usage_hf14_mfsim();
|
||||||
|
|
||||||
// Use UID, SAK, ATQA from EMUL, if uid not defined
|
// Use UID, SAK, ATQA from EMUL, if uid not defined
|
||||||
if ((flags & (FLAG_4B_UID_IN_DATA | FLAG_7B_UID_IN_DATA | FLAG_10B_UID_IN_DATA)) == 0)
|
if ((flags & (FLAG_4B_UID_IN_DATA | FLAG_7B_UID_IN_DATA | FLAG_10B_UID_IN_DATA)) == 0) {
|
||||||
flags |= FLAG_UID_IN_EMUL;
|
flags |= FLAG_UID_IN_EMUL;
|
||||||
|
}
|
||||||
|
|
||||||
PrintAndLogEx(NORMAL, " uid:%s, numreads:%d, flags:%d (0x%02x) "
|
PrintAndLogEx(INFO, _YELLOW_("Mifare %s") " | %s UID " _YELLOW_("%s") ""
|
||||||
|
, csize
|
||||||
|
, uidsize
|
||||||
, (uidlen == 0) ? "N/A" : sprint_hex(uid, uidlen >> 1)
|
, (uidlen == 0) ? "N/A" : sprint_hex(uid, uidlen >> 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
PrintAndLogEx(INFO, "Options [ numreads: %d, flags: %d (0x%02x) ]"
|
||||||
, exitAfterNReads
|
, exitAfterNReads
|
||||||
, flags
|
, flags
|
||||||
, flags);
|
, flags);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue