mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-02-28 10:05:13 +08:00
detect iClass vs PicoPass
This commit is contained in:
parent
f094e8fd50
commit
1694eaef0a
1 changed files with 19 additions and 8 deletions
|
@ -2806,16 +2806,18 @@ int readIclass(bool loop, bool verbose) {
|
|||
FLAG_ICLASS_READER_ONE_TRY;
|
||||
|
||||
// loop in client not device - else on windows have a communication error
|
||||
PacketResponseNG resp;
|
||||
while (!kbd_enter_pressed()) {
|
||||
|
||||
clearCommandBuffer();
|
||||
SendCommandMIX(CMD_HF_ICLASS_READER, flags, 0, 0, NULL, 0);
|
||||
PacketResponseNG resp;
|
||||
|
||||
if (WaitForResponseTimeout(CMD_ACK, &resp, 4500)) {
|
||||
|
||||
uint8_t readStatus = resp.oldarg[0] & 0xff;
|
||||
uint8_t *data = resp.data.asBytes;
|
||||
|
||||
if (verbose) PrintAndLogEx(INFO, "Readstatus:%02x", readStatus);
|
||||
// if (verbose) PrintAndLogEx(INFO, "Readstatus:%02x", readStatus);
|
||||
|
||||
// no tag found or button pressed
|
||||
if ((readStatus == 0 && !loop) || readStatus == 0xFF) {
|
||||
|
@ -2837,18 +2839,27 @@ int readIclass(bool loop, bool verbose) {
|
|||
printIclassDumpInfo(data);
|
||||
}
|
||||
|
||||
// if CSN ends with FF12E0, it's inside HID CSN range.
|
||||
bool isHidRange = (memcmp((uint8_t *)(data + 5), "\xFF\x12\xE0", 3) == 0);
|
||||
|
||||
if (readStatus & FLAG_ICLASS_READER_AIA) {
|
||||
bool legacy = (memcmp((uint8_t *)(data + 8 * 5), "\xff\xff\xff\xff\xff\xff\xff\xff", 8) == 0);
|
||||
|
||||
bool se_enabled = (memcmp((uint8_t *)(data + 8 * 5), "\xff\xff\xff\x00\x06\xff\xff\xff", 8) == 0);
|
||||
|
||||
PrintAndLogEx(NORMAL, " App IA: %s", sprint_hex(data + 8 * 5, 8));
|
||||
if (legacy)
|
||||
PrintAndLogEx(SUCCESS, " : Possible iClass (legacy credential tag)");
|
||||
else if (se_enabled)
|
||||
PrintAndLogEx(SUCCESS, " : Possible iClass (SE credential tag)");
|
||||
else
|
||||
PrintAndLogEx(WARNING, " : Possible iClass (NOT legacy tag)");
|
||||
|
||||
if (legacy && isHidRange)
|
||||
PrintAndLogEx(SUCCESS, " : Possible iClass - legacy credential tag");
|
||||
|
||||
if (se_enabled & isHidRange)
|
||||
PrintAndLogEx(SUCCESS, " : Possible iClass - SE credential tag");
|
||||
|
||||
if (isHidRange) {
|
||||
PrintAndLogEx(SUCCESS, " : Tag is "_YELLOW_("iClass")", CSN is in HID range");
|
||||
} else {
|
||||
PrintAndLogEx(SUCCESS, " : Tag is "_YELLOW_("PicoPass")", CSN is not in HID range");
|
||||
}
|
||||
}
|
||||
|
||||
if (tagFound && !loop) {
|
||||
|
|
Loading…
Reference in a new issue