hf iclass replay

This commit is contained in:
iceman1001 2020-08-12 13:00:30 +02:00
commit f13fbe32e8
3 changed files with 12 additions and 6 deletions

View file

@ -502,6 +502,7 @@ static void SendCapabilities(void) {
// Show some leds in a pattern to identify StandAlone mod is running // Show some leds in a pattern to identify StandAlone mod is running
void StandAloneMode(void) { void StandAloneMode(void) {
DbpString("");
DbpString("Stand-alone mode, no computer necessary"); DbpString("Stand-alone mode, no computer necessary");
SpinDown(50); SpinDown(50);
SpinDelay(50); SpinDelay(50);
@ -1023,12 +1024,16 @@ static void PacketReceived(PacketCommandNG *packet) {
break; break;
} }
case CMD_HF_ISO15693_SNIFF: { case CMD_HF_ISO15693_SNIFF: {
/*
struct p { struct p {
uint8_t jam_search_len; uint8_t jam_search_len;
uint8_t jam_search_string[]; uint8_t jam_search_string[];
} PACKED; } PACKED;
struct p *payload = (struct p *) packet->data.asBytes; struct p *payload = (struct p *) packet->data.asBytes;
SniffIso15693(payload->jam_search_len, payload->jam_search_string); SniffIso15693(payload->jam_search_len, payload->jam_search_string);
*/
SniffIso15693(0, NULL);
reply_ng(CMD_HF_ISO15693_SNIFF, PM3_SUCCESS, NULL, 0); reply_ng(CMD_HF_ISO15693_SNIFF, PM3_SUCCESS, NULL, 0);
break; break;
} }
@ -1399,7 +1404,7 @@ static void PacketReceived(PacketCommandNG *packet) {
} }
case CMD_HF_ICLASS_REPLAY: { case CMD_HF_ICLASS_REPLAY: {
struct p { struct p {
uint8_t reader; uint8_t reader[4];
uint8_t mac[4]; uint8_t mac[4];
} PACKED; } PACKED;
struct p *payload = (struct p *) packet->data.asBytes; struct p *payload = (struct p *) packet->data.asBytes;

View file

@ -1469,12 +1469,13 @@ void ReaderIClass(uint8_t flags) {
} }
// turn off afterwards // turn off afterwards
void ReaderIClass_Replay(uint8_t reader, uint8_t *mac) { void ReaderIClass_Replay(uint8_t *rnr, uint8_t *mac) {
BigBuf_free(); BigBuf_free();
uint8_t check[] = { ICLASS_CMD_CHECK, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; uint8_t check[] = { ICLASS_CMD_CHECK, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
// copy mac
memcpy(check + 1, rnr, 4);
memcpy(check + 5, mac, 4); memcpy(check + 5, mac, 4);
uint8_t *card_data = BigBuf_malloc(ICLASS_16KS_SIZE); uint8_t *card_data = BigBuf_malloc(ICLASS_16KS_SIZE);

View file

@ -17,7 +17,7 @@
void SniffIClass(uint8_t jam_search_len, uint8_t *jam_search_string); void SniffIClass(uint8_t jam_search_len, uint8_t *jam_search_string);
void ReaderIClass(uint8_t arg0); void ReaderIClass(uint8_t arg0);
void ReaderIClass_Replay(uint8_t arg0, uint8_t *mac); void ReaderIClass_Replay(uint8_t *rnr, uint8_t *mac);
void iClass_WriteBlock(uint8_t *msg); void iClass_WriteBlock(uint8_t *msg);
void iClass_Dump(uint8_t *msg); void iClass_Dump(uint8_t *msg);