-// 14b get and print UID only (general info)
-int HF14BStdReader(uint8_t *data, uint8_t *datalen){
- //05 00 00 = find one tag in field
- //1d xx xx xx xx 00 08 01 00 = attrib xx=UID (resp 10 [f9 e0])
- //a3 = ? (resp 03 [e2 c2])
- //02 = ? (resp 02 [6a d3])
- // 022b (resp 02 67 00 [29 5b])
- // 0200a40400 (resp 02 67 00 [29 5b])
- // 0200a4040c07a0000002480300 (resp 02 67 00 [29 5b])
- // 0200a4040c07a0000002480200 (resp 02 67 00 [29 5b])
- // 0200a4040006a0000000010100 (resp 02 6a 82 [4b 4c])
- // 0200a4040c09d27600002545500200 (resp 02 67 00 [29 5b])
- // 0200a404000cd2760001354b414e4d30310000 (resp 02 6a 82 [4b 4c])
- // 0200a404000ca000000063504b43532d313500 (resp 02 6a 82 [4b 4c])
- // 0200a4040010a000000018300301000000000000000000 (resp 02 6a 82 [4b 4c])
- //03 = ? (resp 03 [e3 c2])
- //c2 = ? (resp c2 [66 15])
- //b2 = ? (resp a3 [e9 67])
- //a2 = ? (resp 02 [6a d3])
- bool crc = true;
- *datalen = 3;
- //std read cmd
- data[0] = 0x05;
- data[1] = 0x00;
- data[2] = 0x08;
-
- if (HF14BCmdRaw(true, &crc, true, data, datalen, false)==0) return rawClose();
-
- if (data[0] != 0x50 || *datalen != 14 || !crc) return rawClose();
-
- PrintAndLog ("\n14443-3b tag found:");
- PrintAndLog (" UID: %s", sprint_hex(data+1,4));
-
- uint8_t cmd2[16];
- uint8_t cmdLen = 3;
- bool crc2 = true;
-
- cmd2[0] = 0x1D;
- // UID from data[1 - 4]
- cmd2[1] = data[1];
- cmd2[2] = data[2];
- cmd2[3] = data[3];
- cmd2[4] = data[4];
- cmd2[5] = 0x00;
- cmd2[6] = 0x08;
- cmd2[7] = 0x01;
- cmd2[8] = 0x00;
- cmdLen = 9;
-
- // attrib
- if (HF14BCmdRaw(true, &crc2, true, cmd2, &cmdLen, false)==0) return rawClose();
-
- if (cmdLen != 3 || !crc2) return rawClose();
- // add attrib responce to data
- data[14] = cmd2[0];
- rawClose();
- return 1;
-}
+//05 00 00 = find one tag in field
+//1d xx xx xx xx 00 08 01 00 = attrib xx=UID (resp 10 [f9 e0])
+//a3 = ? (resp 03 [e2 c2])
+//02 = ? (resp 02 [6a d3])
+// 022b (resp 02 67 00 [29 5b])
+// 0200a40400 (resp 02 67 00 [29 5b])
+// 0200a4040c07a0000002480300 (resp 02 67 00 [29 5b])
+// 0200a4040c07a0000002480200 (resp 02 67 00 [29 5b])
+// 0200a4040006a0000000010100 (resp 02 6a 82 [4b 4c])
+// 0200a4040c09d27600002545500200 (resp 02 67 00 [29 5b])
+// 0200a404000cd2760001354b414e4d30310000 (resp 02 6a 82 [4b 4c])
+// 0200a404000ca000000063504b43532d313500 (resp 02 6a 82 [4b 4c])
+// 0200a4040010a000000018300301000000000000000000 (resp 02 6a 82 [4b 4c])
+//03 = ? (resp 03 [e3 c2])
+//c2 = ? (resp c2 [66 15])
+//b2 = ? (resp a3 [e9 67])
+//a2 = ? (resp 02 [6a d3])