CHG: hf 14a read - started to add a Magic tag gen2 detection. SKipping it for now. Can't decide to put in on deviceside or in client.
FIX: `lf read` - ophs.. it works again. ADD: `lf em 4x05--` - added a chipset definition CHG: better kali fix - from @pwpivi
This commit is contained in:
@@ -391,18 +391,21 @@ int CmdHF14AReader(const char *Cmd) {
|
||||
|
||||
// try to see if card responses to "chinese magic backdoor" commands.
|
||||
uint8_t isGeneration = 0;
|
||||
|
||||
clearCommandBuffer();
|
||||
c.cmd = CMD_MIFARE_CIDENT;
|
||||
c.arg[0] = 0;
|
||||
c.arg[1] = 0;
|
||||
c.arg[2] = 0;
|
||||
SendCommand(&c);
|
||||
if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) {
|
||||
if (WaitForResponseTimeout(CMD_ACK, &resp, 1500))
|
||||
isGeneration = resp.arg[0] & 0xff;
|
||||
}
|
||||
if ( isGeneration )
|
||||
PrintAndLog("Answers to magic commands (GEN %s): YES", ((isGeneration & 0x2 )==2)?"1B":"1A");
|
||||
|
||||
switch( isGeneration ){
|
||||
case 1: PrintAndLog("Answers to magic commands (GEN 1a): YES"); break;
|
||||
case 2: PrintAndLog("Answers to magic commands (GEN 1b): YES"); break;
|
||||
//case 4: PrintAndLog("Answers to magic commands (GEN 2): YES"); break;
|
||||
default: PrintAndLog("Answers to magic commands: NO"); break;
|
||||
}
|
||||
|
||||
// disconnect
|
||||
SendCommand(&cDisconnect);
|
||||
|
||||
@@ -567,14 +567,11 @@ int CmdLFRead(const char *Cmd) {
|
||||
break;
|
||||
default:
|
||||
PrintAndLog("Unknown parameter '%c'", param_getchar(Cmd, cmdp));
|
||||
errors = 1;
|
||||
errors = TRUE;
|
||||
break;
|
||||
}
|
||||
if(errors) break;
|
||||
}
|
||||
|
||||
// No args
|
||||
if (cmdp == 0) errors = 1;
|
||||
|
||||
//Validations
|
||||
if (errors) return usage_lf_read();
|
||||
|
||||
@@ -797,7 +797,7 @@ int EM4x05ReadWord_ext(uint8_t addr, uint32_t pwd, bool usePwd, uint32_t *word)
|
||||
}
|
||||
int testLen = (GraphTraceLen < 1000) ? GraphTraceLen : 1000;
|
||||
if (graphJustNoise(GraphBuffer, testLen)) {
|
||||
PrintAndLog("no tag not found");
|
||||
PrintAndLog("no tag found");
|
||||
return -1;
|
||||
}
|
||||
return demodEM4x05resp(word);
|
||||
@@ -981,6 +981,7 @@ void printEM4x05info(uint32_t block0, uint32_t serial) {
|
||||
|
||||
switch (chipType) {
|
||||
case 9: PrintAndLog("\n Chip Type: %u | EM4305", chipType); break;
|
||||
case 8: PrintAndLog("\n Chip Type: %u | EM4205", chipType); break;
|
||||
case 4: PrintAndLog(" Chip Type: %u | Unknown", chipType); break;
|
||||
case 2: PrintAndLog(" Chip Type: %u | EM4469", chipType); break;
|
||||
//add more here when known
|
||||
|
||||
@@ -10,7 +10,10 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(__linux__)
|
||||
// make realpath() available:
|
||||
#define _DEFAULT_SOURCE
|
||||
#endif
|
||||
|
||||
#if !defined(WAI_MALLOC) || !defined(WAI_FREE) || !defined(WAI_REALLOC)
|
||||
#include <stdlib.h>
|
||||
|
||||
Reference in New Issue
Block a user