// try to see if card responses to "chinese magic backdoor" commands.
- c.cmd = CMD_MIFARE_CIDENT;
- c.arg[0] = 0;
- c.arg[1] = 0;
- c.arg[2] = 0;
- SendCommand(&c);
- WaitForResponse(CMD_ACK,&resp);
-
- uint8_t isGeneration = resp.arg[0] & 0xff;
- switch( isGeneration ){
- case 1: PrintAndLog("Answers to chinese magic backdoor commands (GEN 1a): YES"); break;
- case 2: PrintAndLog("Answers to chinese magic backdoor commands (GEN 1b): YES"); break;
- default: PrintAndLog("Answers to chinese magic backdoor commands: NO"); break;
- }
+ mfCIdentify();
- // disconnect
- c.cmd = CMD_READER_ISO_14443a;
- c.arg[0] = 0;
- c.arg[1] = 0;
- c.arg[2] = 0;
- SendCommand(&c);
-
return select_status;
}
return 0;\r
}\r
\r
-int mfCIdentify()\r
-{\r
- UsbCommand c;\r
-// UsbCommand c = {CMD_READER_ISO_14443a, {ISO14A_CONNECT | ISO14A_NO_DISCONNECT, 0, 0}};\r
-// SendCommand(&c);\r
-\r
- UsbCommand resp;\r
-// WaitForResponse(CMD_ACK,&resp);\r
-\r
- // iso14a_card_select_t card;\r
- // memcpy(&card, (iso14a_card_select_t *)resp.d.asBytes, sizeof(iso14a_card_select_t));\r
-\r
- // uint64_t select_status = resp.arg[0]; // 0: couldn't read, 1: OK, with ATS, 2: OK, no ATS, 3: proprietary Anticollision\r
-\r
- // if(select_status != 0) {\r
- // uint8_t rats[] = { 0xE0, 0x80 }; // FSDI=8 (FSD=256), CID=0\r
- // c.arg[0] = ISO14A_RAW | ISO14A_APPEND_CRC | ISO14A_NO_DISCONNECT;\r
- // c.arg[1] = 2;\r
- // c.arg[2] = 0;\r
- // memcpy(c.d.asBytes, rats, 2);\r
- // SendCommand(&c);\r
- // WaitForResponse(CMD_ACK,&resp);\r
- // }\r
-\r
- c.cmd = CMD_MIFARE_CIDENT;\r
- c.arg[0] = 0;\r
- c.arg[1] = 0;\r
- c.arg[2] = 0;\r
+int mfCIdentify() {\r
+ UsbCommand c = {CMD_MIFARE_CIDENT, {0, 0, 0}};\r
SendCommand(&c);\r
+ UsbCommand resp;\r
WaitForResponse(CMD_ACK,&resp);\r
\r
uint8_t isGeneration = resp.arg[0] & 0xff;\r
default: PrintAndLog("No chinese magic backdoor command detected"); break;\r
}\r
\r
- // disconnect\r
-// c.cmd = CMD_READER_ISO_14443a;\r
-// c.arg[0] = 0;\r
-// c.arg[1] = 0;\r
-// c.arg[2] = 0;\r
-// SendCommand(&c);\r
-\r
return (int) isGeneration;\r
}\r
\r