mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 13:23:51 -07:00
minor bugfixes to hf mf sniff and hf 14a snoop
- tracing was not always enabled when starting hf mf sniff or hf 14a snoop - ATQA was displayed in wrong byte order in hf mf sniff - 4 Byte UIDs were displayed as 7 Byte UIDs (padded with 0x000000) in hf mf sniff - same for logfile names. - assignment (=) had been used instead of == in comparisons (shouldn't have been relevant though)
This commit is contained in:
parent
9a573554e0
commit
991f13f27d
2 changed files with 13 additions and 5 deletions
|
@ -507,6 +507,7 @@ void RAMFUNC SnoopIso14443a(uint8_t param) {
|
||||||
LEDsoff();
|
LEDsoff();
|
||||||
// init trace buffer
|
// init trace buffer
|
||||||
iso14a_clear_trace();
|
iso14a_clear_trace();
|
||||||
|
iso14a_set_tracing(TRUE);
|
||||||
|
|
||||||
// We won't start recording the frames that we acquire until we trigger;
|
// We won't start recording the frames that we acquire until we trigger;
|
||||||
// a good trigger condition to get started is probably when we see a
|
// a good trigger condition to get started is probably when we see a
|
||||||
|
@ -2623,7 +2624,8 @@ void RAMFUNC SniffMifare(uint8_t param) {
|
||||||
// C(red) A(yellow) B(green)
|
// C(red) A(yellow) B(green)
|
||||||
LEDsoff();
|
LEDsoff();
|
||||||
// init trace buffer
|
// init trace buffer
|
||||||
iso14a_clear_trace();
|
iso14a_clear_trace();
|
||||||
|
iso14a_set_tracing(TRUE);
|
||||||
|
|
||||||
// The command (reader -> tag) that we're receiving.
|
// The command (reader -> tag) that we're receiving.
|
||||||
// The length of a received command will in most cases be no more than 18 bytes.
|
// The length of a received command will in most cases be no more than 18 bytes.
|
||||||
|
|
|
@ -1848,7 +1848,8 @@ int CmdHF14AMfSniff(const char *Cmd){
|
||||||
int blockLen = 0;
|
int blockLen = 0;
|
||||||
int num = 0;
|
int num = 0;
|
||||||
int pckNum = 0;
|
int pckNum = 0;
|
||||||
uint8_t uid[8];
|
uint8_t uid[7];
|
||||||
|
uint8_t uid_len;
|
||||||
uint8_t atqa[2];
|
uint8_t atqa[2];
|
||||||
uint8_t sak;
|
uint8_t sak;
|
||||||
bool isTag;
|
bool isTag;
|
||||||
|
@ -1926,14 +1927,19 @@ int CmdHF14AMfSniff(const char *Cmd){
|
||||||
bufPtr += 4;
|
bufPtr += 4;
|
||||||
len = bufPtr[0];
|
len = bufPtr[0];
|
||||||
bufPtr++;
|
bufPtr++;
|
||||||
if ((len == 14) && (bufPtr[0] = 0xff) && (bufPtr[1] = 0xff)) {
|
if ((len == 14) && (bufPtr[0] == 0xff) && (bufPtr[1] == 0xff)) {
|
||||||
memcpy(uid, bufPtr + 2, 7);
|
memcpy(uid, bufPtr + 2, 7);
|
||||||
memcpy(atqa, bufPtr + 2 + 7, 2);
|
memcpy(atqa, bufPtr + 2 + 7, 2);
|
||||||
|
uid_len = (atqa[0] & 0xC0) == 0x40 ? 7 : 4;
|
||||||
sak = bufPtr[11];
|
sak = bufPtr[11];
|
||||||
|
|
||||||
PrintAndLog("tag select uid:%s atqa:%02x %02x sak:0x%02x", sprint_hex(uid, 7), atqa[0], atqa[1], sak);
|
PrintAndLog("tag select uid:%s atqa:0x%02x%02x sak:0x%02x",
|
||||||
|
sprint_hex(uid + (7 - uid_len), uid_len),
|
||||||
|
atqa[1],
|
||||||
|
atqa[0],
|
||||||
|
sak);
|
||||||
if (wantLogToFile || wantDecrypt) {
|
if (wantLogToFile || wantDecrypt) {
|
||||||
FillFileNameByUID(logHexFileName, uid, ".log", 7);
|
FillFileNameByUID(logHexFileName, uid + (7 - uid_len), ".log", uid_len);
|
||||||
AddLogCurrentDT(logHexFileName);
|
AddLogCurrentDT(logHexFileName);
|
||||||
}
|
}
|
||||||
if (wantDecrypt) mfTraceInit(uid, atqa, sak, wantSaveToEmlFile);
|
if (wantDecrypt) mfTraceInit(uid, atqa, sak, wantSaveToEmlFile);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue