mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
Fix lf em 410x watch and standalone bug introduced with Electra changes
This commit is contained in:
parent
9e57d20262
commit
2ce30201b2
2 changed files with 46 additions and 44 deletions
|
@ -98,7 +98,7 @@ static uint32_t IceEM410xdemod(void) {
|
||||||
|
|
||||||
int type = Em410xDecode(dest, &size, &idx, &hi, &lo);
|
int type = Em410xDecode(dest, &size, &idx, &hi, &lo);
|
||||||
// Did we find a Short EM or a Long EM?
|
// Did we find a Short EM or a Long EM?
|
||||||
if ((type & (0x1 | 0x2)) == 0) {
|
if ((type < 0) || ((type & (0x1 | 0x2)) == 0)) {
|
||||||
BigBuf_free();
|
BigBuf_free();
|
||||||
return PM3_ESOFT;
|
return PM3_ESOFT;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1477,50 +1477,52 @@ int lf_em410x_watch(int findone, uint32_t *high, uint64_t *low) {
|
||||||
WDT_HIT();
|
WDT_HIT();
|
||||||
|
|
||||||
int type = Em410xDecode(dest, &size, &idx, &hi, &lo);
|
int type = Em410xDecode(dest, &size, &idx, &hi, &lo);
|
||||||
if (type & 0x1) {
|
if (type > 0) {
|
||||||
Dbprintf("EM TAG ID: " _GREEN_("%02x%08x") " - ( %05d_%03d_%08d )",
|
if (type & 0x1) {
|
||||||
(uint32_t)(lo >> 32),
|
Dbprintf("EM TAG ID: " _GREEN_("%02x%08x") " - ( %05d_%03d_%08d )",
|
||||||
(uint32_t)lo,
|
(uint32_t)(lo >> 32),
|
||||||
(uint32_t)(lo & 0xFFFF),
|
(uint32_t)lo,
|
||||||
(uint32_t)((lo >> 16LL) & 0xFF),
|
(uint32_t)(lo & 0xFFFF),
|
||||||
(uint32_t)(lo & 0xFFFFFF));
|
(uint32_t)((lo >> 16LL) & 0xFF),
|
||||||
}
|
(uint32_t)(lo & 0xFFFFFF));
|
||||||
if (type & 0x2) {
|
}
|
||||||
Dbprintf("EM XL TAG ID: " _GREEN_("%06x%08x%08x") " - ( %05d_%03d_%08d )",
|
if (type & 0x2) {
|
||||||
hi,
|
Dbprintf("EM XL TAG ID: " _GREEN_("%06x%08x%08x") " - ( %05d_%03d_%08d )",
|
||||||
(uint32_t)(lo >> 32),
|
hi,
|
||||||
(uint32_t)lo,
|
(uint32_t)(lo >> 32),
|
||||||
(uint32_t)(lo & 0xFFFF),
|
(uint32_t)lo,
|
||||||
(uint32_t)((lo >> 16LL) & 0xFF),
|
(uint32_t)(lo & 0xFFFF),
|
||||||
(uint32_t)(lo & 0xFFFFFF));
|
(uint32_t)((lo >> 16LL) & 0xFF),
|
||||||
}
|
(uint32_t)(lo & 0xFFFFFF));
|
||||||
if (type & 0x4) {
|
}
|
||||||
uint64_t data = (lo << 20) >> 20;
|
if (type & 0x4) {
|
||||||
// Convert back to Short ID
|
uint64_t data = (lo << 20) >> 20;
|
||||||
uint64_t id = ((uint64_t)hi << 16) | (lo >> 48);
|
// Convert back to Short ID
|
||||||
if ((data & 0xFFFFFFFF) == 0) {
|
uint64_t id = ((uint64_t)hi << 16) | (lo >> 48);
|
||||||
Dbprintf("EM TAG ID: " _GREEN_("%02x%08x") " - ( %05d_%03d_%08d ) Electra "_GREEN_("%i"),
|
if ((data & 0xFFFFFFFF) == 0) {
|
||||||
(uint32_t)(id >> 32),
|
Dbprintf("EM TAG ID: " _GREEN_("%02x%08x") " - ( %05d_%03d_%08d ) Electra "_GREEN_("%i"),
|
||||||
(uint32_t)id,
|
(uint32_t)(id >> 32),
|
||||||
(uint32_t)(id & 0xFFFF),
|
(uint32_t)id,
|
||||||
(uint32_t)((id >> 16LL) & 0xFF),
|
(uint32_t)(id & 0xFFFF),
|
||||||
(uint32_t)(id & 0xFFFFFF),
|
(uint32_t)((id >> 16LL) & 0xFF),
|
||||||
(uint32_t)(data >> 32));
|
(uint32_t)(id & 0xFFFFFF),
|
||||||
} else {
|
(uint32_t)(data >> 32));
|
||||||
Dbprintf("EM TAG ID: " _GREEN_("%02x%08x") " - ( %05d_%03d_%08d ) on 128b frame with data "_GREEN_("%03x%08x"),
|
} else {
|
||||||
(uint32_t)(id >> 32),
|
Dbprintf("EM TAG ID: " _GREEN_("%02x%08x") " - ( %05d_%03d_%08d ) on 128b frame with data "_GREEN_("%03x%08x"),
|
||||||
(uint32_t)id,
|
(uint32_t)(id >> 32),
|
||||||
(uint32_t)(id & 0xFFFF),
|
(uint32_t)id,
|
||||||
(uint32_t)((id >> 16LL) & 0xFF),
|
(uint32_t)(id & 0xFFFF),
|
||||||
(uint32_t)(id & 0xFFFFFF),
|
(uint32_t)((id >> 16LL) & 0xFF),
|
||||||
(uint32_t)(data >> 32),
|
(uint32_t)(id & 0xFFFFFF),
|
||||||
(uint32_t)data);
|
(uint32_t)(data >> 32),
|
||||||
|
(uint32_t)data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (findone) {
|
||||||
|
*high = hi;
|
||||||
|
*low = lo;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if ((type > 0) && findone) {
|
|
||||||
*high = hi;
|
|
||||||
*low = lo;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
hi = lo = size = idx = 0;
|
hi = lo = size = idx = 0;
|
||||||
clk = invert = 0;
|
clk = invert = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue