mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 05:13:46 -07:00
rename SNOOP -> SNIFF
This commit is contained in:
parent
77693521df
commit
35bc4a975e
21 changed files with 60 additions and 57 deletions
|
@ -38,7 +38,7 @@ APP_CFLAGS = $(PLATFORM_DEFS) \
|
||||||
-DWITH_ISO14443a \
|
-DWITH_ISO14443a \
|
||||||
-DWITH_ICLASS \
|
-DWITH_ICLASS \
|
||||||
-DWITH_FELICA \
|
-DWITH_FELICA \
|
||||||
-DWITH_HFSNOOP \
|
-DWITH_HFSNIFF \
|
||||||
-DWITH_LF_SAMYRUN \
|
-DWITH_LF_SAMYRUN \
|
||||||
-fno-strict-aliasing -ffunction-sections -fdata-sections
|
-fno-strict-aliasing -ffunction-sections -fdata-sections
|
||||||
|
|
||||||
|
|
|
@ -650,8 +650,8 @@ void UsbPacketReceived(uint8_t *packet, int len) {
|
||||||
case CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K:
|
case CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K:
|
||||||
ModThenAcquireRawAdcSamples125k(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
|
ModThenAcquireRawAdcSamples125k(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
|
||||||
break;
|
break;
|
||||||
case CMD_LF_SNOOP_RAW_ADC_SAMPLES: {
|
case CMD_LF_SNIFF_RAW_ADC_SAMPLES: {
|
||||||
uint32_t bits = SnoopLF();
|
uint32_t bits = SniffLF();
|
||||||
cmd_send(CMD_ACK, bits, 0, 0, 0, 0);
|
cmd_send(CMD_ACK, bits, 0, 0, 0, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -765,8 +765,8 @@ void UsbPacketReceived(uint8_t *packet, int len) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WITH_HITAG
|
#ifdef WITH_HITAG
|
||||||
case CMD_SNOOP_HITAG: // Eavesdrop Hitag tag, args = type
|
case CMD_SNIFF_HITAG: // Eavesdrop Hitag tag, args = type
|
||||||
SnoopHitag(c->arg[0]);
|
SniffHitag(c->arg[0]);
|
||||||
break;
|
break;
|
||||||
case CMD_SIMULATE_HITAG: // Simulate Hitag tag, args = memory content
|
case CMD_SIMULATE_HITAG: // Simulate Hitag tag, args = memory content
|
||||||
SimulateHitagTag((bool)c->arg[0], (byte_t *)c->d.asBytes);
|
SimulateHitagTag((bool)c->arg[0], (byte_t *)c->d.asBytes);
|
||||||
|
@ -843,7 +843,7 @@ void UsbPacketReceived(uint8_t *packet, int len) {
|
||||||
case CMD_READ_SRI_TAG:
|
case CMD_READ_SRI_TAG:
|
||||||
ReadSTMemoryIso14443b(c->arg[0]);
|
ReadSTMemoryIso14443b(c->arg[0]);
|
||||||
break;
|
break;
|
||||||
case CMD_SNOOP_ISO_14443B:
|
case CMD_SNIFF_ISO_14443B:
|
||||||
SniffIso14443b();
|
SniffIso14443b();
|
||||||
break;
|
break;
|
||||||
case CMD_SIMULATE_TAG_ISO_14443B:
|
case CMD_SIMULATE_TAG_ISO_14443B:
|
||||||
|
@ -862,7 +862,7 @@ void UsbPacketReceived(uint8_t *packet, int len) {
|
||||||
case CMD_FELICA_LITE_SIM:
|
case CMD_FELICA_LITE_SIM:
|
||||||
felica_sim_lite(c->arg[0]);
|
felica_sim_lite(c->arg[0]);
|
||||||
break;
|
break;
|
||||||
case CMD_FELICA_SNOOP:
|
case CMD_FELICA_SNIFF:
|
||||||
felica_sniff(c->arg[0], c->arg[1]);
|
felica_sniff(c->arg[0], c->arg[1]);
|
||||||
break;
|
break;
|
||||||
case CMD_FELICA_LITE_DUMP:
|
case CMD_FELICA_LITE_DUMP:
|
||||||
|
@ -871,7 +871,7 @@ void UsbPacketReceived(uint8_t *packet, int len) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WITH_ISO14443a
|
#ifdef WITH_ISO14443a
|
||||||
case CMD_SNOOP_ISO_14443a:
|
case CMD_SNIFF_ISO_14443a:
|
||||||
SniffIso14443a(c->arg[0]);
|
SniffIso14443a(c->arg[0]);
|
||||||
break;
|
break;
|
||||||
case CMD_READER_ISO_14443a:
|
case CMD_READER_ISO_14443a:
|
||||||
|
@ -1003,7 +1003,7 @@ void UsbPacketReceived(uint8_t *packet, int len) {
|
||||||
|
|
||||||
#ifdef WITH_ICLASS
|
#ifdef WITH_ICLASS
|
||||||
// Makes use of ISO14443a FPGA Firmware
|
// Makes use of ISO14443a FPGA Firmware
|
||||||
case CMD_SNOOP_ICLASS:
|
case CMD_SNIFF_ICLASS:
|
||||||
SniffIClass();
|
SniffIClass();
|
||||||
break;
|
break;
|
||||||
case CMD_SIMULATE_TAG_ICLASS:
|
case CMD_SIMULATE_TAG_ICLASS:
|
||||||
|
@ -1043,9 +1043,9 @@ void UsbPacketReceived(uint8_t *packet, int len) {
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WITH_HFSNOOP
|
#ifdef WITH_HFSNIFF
|
||||||
case CMD_HF_SNIFFER:
|
case CMD_HF_SNIFFER:
|
||||||
HfSnoop(c->arg[0], c->arg[1]);
|
HfSniff(c->arg[0], c->arg[1]);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -223,7 +223,7 @@ void iClass_Clone(uint8_t startblock, uint8_t endblock, uint8_t *data);
|
||||||
void iClass_ReadCheck(uint8_t blockNo, uint8_t keyType);
|
void iClass_ReadCheck(uint8_t blockNo, uint8_t keyType);
|
||||||
|
|
||||||
// hitag2.h
|
// hitag2.h
|
||||||
void SnoopHitag(uint32_t type);
|
void SniffHitag(uint32_t type);
|
||||||
void SimulateHitagTag(bool tag_mem_supplied, byte_t *data);
|
void SimulateHitagTag(bool tag_mem_supplied, byte_t *data);
|
||||||
void ReaderHitag(hitag_function htf, hitag_data *htd);
|
void ReaderHitag(hitag_function htf, hitag_data *htd);
|
||||||
void WriterHitag(hitag_function htf, hitag_data *htd, int page);
|
void WriterHitag(hitag_function htf, hitag_data *htd, int page);
|
||||||
|
@ -239,7 +239,7 @@ uint8_t cmd_receive(UsbCommand *cmd);
|
||||||
uint8_t cmd_send(uint64_t cmd, uint64_t arg0, uint64_t arg1, uint64_t arg2, void *data, size_t len);
|
uint8_t cmd_send(uint64_t cmd, uint64_t arg0, uint64_t arg1, uint64_t arg2, void *data, size_t len);
|
||||||
|
|
||||||
// util.h
|
// util.h
|
||||||
void HfSnoop(int, int);
|
void HfSniff(int, int);
|
||||||
|
|
||||||
//felica.c
|
//felica.c
|
||||||
extern void felica_sendraw(UsbCommand *c);
|
extern void felica_sendraw(UsbCommand *c);
|
||||||
|
|
|
@ -544,7 +544,7 @@ void felica_sniff(uint32_t samplesToSkip, uint32_t triggersToSkip) {
|
||||||
|
|
||||||
int remFrames = (samplesToSkip) ? samplesToSkip : 0;
|
int remFrames = (samplesToSkip) ? samplesToSkip : 0;
|
||||||
|
|
||||||
Dbprintf("Snoop FelicaLiteS: Getting first %d frames, Skipping %d triggers.\n", samplesToSkip, triggersToSkip);
|
Dbprintf("Sniff FelicaLiteS: Getting first %d frames, Skipping %d triggers.\n", samplesToSkip, triggersToSkip);
|
||||||
|
|
||||||
iso18092_setup(FPGA_HF_ISO18092_FLAG_NOMOD);
|
iso18092_setup(FPGA_HF_ISO18092_FLAG_NOMOD);
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "usb_cdc.h" // for usb_poll_validate_length
|
#include "usb_cdc.h" // for usb_poll_validate_length
|
||||||
|
|
||||||
static void RAMFUNC optimizedSnoop(void);
|
static void RAMFUNC optimizedSniff(void);
|
||||||
|
|
||||||
static void RAMFUNC optimizedSnoop(void) {
|
static void RAMFUNC optimizedSniff(void) {
|
||||||
int n = BigBuf_max_traceLen() / sizeof(uint16_t); // take all memory
|
int n = BigBuf_max_traceLen() / sizeof(uint16_t); // take all memory
|
||||||
|
|
||||||
uint16_t *dest = (uint16_t *)BigBuf_get_addr();
|
uint16_t *dest = (uint16_t *)BigBuf_get_addr();
|
||||||
|
@ -23,7 +23,7 @@ static void RAMFUNC optimizedSnoop(void) {
|
||||||
set_tracelen(BigBuf_max_traceLen());
|
set_tracelen(BigBuf_max_traceLen());
|
||||||
}
|
}
|
||||||
|
|
||||||
void HfSnoop(int samplesToSkip, int triggersToSkip) {
|
void HfSniff(int samplesToSkip, int triggersToSkip) {
|
||||||
BigBuf_free();
|
BigBuf_free();
|
||||||
BigBuf_Clear();
|
BigBuf_Clear();
|
||||||
|
|
||||||
|
@ -66,14 +66,14 @@ void HfSnoop(int samplesToSkip, int triggersToSkip) {
|
||||||
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY))
|
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY))
|
||||||
waitcount--;
|
waitcount--;
|
||||||
}
|
}
|
||||||
optimizedSnoop();
|
optimizedSniff();
|
||||||
Dbprintf("Trigger kicked! Value: %d, Dumping Samples Hispeed now.", r);
|
Dbprintf("Trigger kicked! Value: %d, Dumping Samples Hispeed now.", r);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Resetting Frame mode (First set in fpgaloader.c)
|
//Resetting Frame mode (First set in fpgaloader.c)
|
||||||
AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(8) | AT91C_SSC_MSBF | SSC_FRAME_MODE_WORDS_PER_TRANSFER(0);
|
AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(8) | AT91C_SSC_MSBF | SSC_FRAME_MODE_WORDS_PER_TRANSFER(0);
|
||||||
|
|
||||||
DbpString("HF Snoop end");
|
DbpString("HF Sniffing end");
|
||||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
||||||
LED_D_OFF();
|
LED_D_OFF();
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
// Hitag2 complete rewrite of the code
|
// Hitag2 complete rewrite of the code
|
||||||
// - Fixed modulation/encoding issues
|
// - Fixed modulation/encoding issues
|
||||||
// - Rewrote code for transponder emulation
|
// - Rewrote code for transponder emulation
|
||||||
// - Added snooping of transponder communication
|
// - Added sniffing of transponder communication
|
||||||
// - Added reader functionality
|
// - Added reader functionality
|
||||||
//
|
//
|
||||||
// (c) 2012 Roel Verdult
|
// (c) 2012 Roel Verdult
|
||||||
|
@ -801,7 +801,7 @@ static bool hitag2_read_uid(uint8_t *rx, const size_t rxlen, uint8_t *tx, size_t
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnoopHitag(uint32_t type) {
|
void SniffHitag(uint32_t type) {
|
||||||
int frame_count;
|
int frame_count;
|
||||||
int response;
|
int response;
|
||||||
int overflow;
|
int overflow;
|
||||||
|
@ -829,7 +829,7 @@ void SnoopHitag(uint32_t type) {
|
||||||
auth_table = (uint8_t *)BigBuf_malloc(AUTH_TABLE_LENGTH);
|
auth_table = (uint8_t *)BigBuf_malloc(AUTH_TABLE_LENGTH);
|
||||||
memset(auth_table, 0x00, AUTH_TABLE_LENGTH);
|
memset(auth_table, 0x00, AUTH_TABLE_LENGTH);
|
||||||
|
|
||||||
DbpString("Starting Hitag2 snoop");
|
DbpString("Starting Hitag2 sniff");
|
||||||
LED_D_ON();
|
LED_D_ON();
|
||||||
|
|
||||||
// Set up eavesdropping mode, frequency divisor which will drive the FPGA
|
// Set up eavesdropping mode, frequency divisor which will drive the FPGA
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
//
|
//
|
||||||
// FIX:
|
// FIX:
|
||||||
// ====
|
// ====
|
||||||
// We still have sometimes a demodulation error when snooping iClass communication.
|
// We still have sometimes a demodulation error when sniffing iClass communication.
|
||||||
// The resulting trace of a read-block-03 command may look something like this:
|
// The resulting trace of a read-block-03 command may look something like this:
|
||||||
//
|
//
|
||||||
// + 22279: : 0c 03 e8 01
|
// + 22279: : 0c 03 e8 01
|
||||||
|
|
|
@ -1413,7 +1413,7 @@ static void iso1444b_setup_sniff(void) {
|
||||||
FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
|
FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
|
||||||
BigBuf_free();
|
BigBuf_free();
|
||||||
BigBuf_Clear_ext(false);
|
BigBuf_Clear_ext(false);
|
||||||
clear_trace();//setup snoop
|
clear_trace();
|
||||||
set_tracing(true);
|
set_tracing(true);
|
||||||
|
|
||||||
// Initialize Demod and Uart structs
|
// Initialize Demod and Uart structs
|
||||||
|
|
|
@ -29,7 +29,7 @@ void printConfig() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called from the USB-handler to set the sampling configuration
|
* Called from the USB-handler to set the sampling configuration
|
||||||
* The sampling config is used for std reading and snooping.
|
* The sampling config is used for std reading and sniffing.
|
||||||
*
|
*
|
||||||
* Other functions may read samples and ignore the sampling config,
|
* Other functions may read samples and ignore the sampling config,
|
||||||
* such as functions to read the UID from a prox tag or similar.
|
* such as functions to read the UID from a prox tag or similar.
|
||||||
|
@ -253,10 +253,10 @@ uint32_t SampleLF(bool printCfg, int sample_size) {
|
||||||
return ReadLF(true, printCfg, sample_size);
|
return ReadLF(true, printCfg, sample_size);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Initializes the FPGA for snoop-mode (field off), and acquires the samples.
|
* Initializes the FPGA for sniffer-mode (field off), and acquires the samples.
|
||||||
* @return number of bits sampled
|
* @return number of bits sampled
|
||||||
**/
|
**/
|
||||||
uint32_t SnoopLF() {
|
uint32_t SniffLF() {
|
||||||
BigBuf_Clear_ext(false);
|
BigBuf_Clear_ext(false);
|
||||||
return ReadLF(false, true, 0);
|
return ReadLF(false, true, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,10 +30,10 @@ void doT55x7Acquisition(size_t sample_size);
|
||||||
uint32_t SampleLF(bool silent, int sample_size);
|
uint32_t SampleLF(bool silent, int sample_size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the FPGA for snoop-mode (field off), and acquires the samples.
|
* Initializes the FPGA for sniff-mode (field off), and acquires the samples.
|
||||||
* @return number of bits sampled
|
* @return number of bits sampled
|
||||||
**/
|
**/
|
||||||
uint32_t SnoopLF();
|
uint32_t SniffLF();
|
||||||
|
|
||||||
// adds sample size to default options
|
// adds sample size to default options
|
||||||
uint32_t DoPartialAcquisition(int trigger_threshold, bool silent, int sample_size, uint32_t cancel_after);
|
uint32_t DoPartialAcquisition(int trigger_threshold, bool silent, int sample_size, uint32_t cancel_after);
|
||||||
|
@ -67,7 +67,7 @@ void LFSetupFPGAForADC(int divisor, bool lf_field);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called from the USB-handler to set the sampling configuration
|
* Called from the USB-handler to set the sampling configuration
|
||||||
* The sampling config is used for std reading and snooping.
|
* The sampling config is used for std reading and sniffing.
|
||||||
*
|
*
|
||||||
* Other functions may read samples and ignore the sampling config,
|
* Other functions may read samples and ignore the sampling config,
|
||||||
* such as functions to read the UID from a prox tag or similar.
|
* such as functions to read the UID from a prox tag or similar.
|
||||||
|
|
|
@ -21,7 +21,7 @@ int main(int argc, char **argv) {
|
||||||
if (argc != 3 && argc != 4) {
|
if (argc != 3 && argc != 4) {
|
||||||
printf("\n\tusage: cli <command 1> <command 2> [logfile (default cli.log)]\n");
|
printf("\n\tusage: cli <command 1> <command 2> [logfile (default cli.log)]\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("\texample: cli hi14asnoop hi14alist h14a.log\n");
|
printf("\texample: cli hf 14a sniff hf 14a list h14a.log\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ int usage_hf_search() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int usage_hf_sniff() {
|
int usage_hf_sniff() {
|
||||||
PrintAndLogEx(NORMAL, "The high frequence snoop will assign all available memory on device for sniffed data");
|
PrintAndLogEx(NORMAL, "The high frequence sniffer will assign all available memory on device for sniffed data");
|
||||||
PrintAndLogEx(NORMAL, "Use " _YELLOW_("'data samples'")" command to download from device, and " _YELLOW_("'data plot'")" to look at it");
|
PrintAndLogEx(NORMAL, "Use " _YELLOW_("'data samples'")" command to download from device, and " _YELLOW_("'data plot'")" to look at it");
|
||||||
PrintAndLogEx(NORMAL, "Press button to quit the sniffing.\n");
|
PrintAndLogEx(NORMAL, "Press button to quit the sniffing.\n");
|
||||||
PrintAndLogEx(NORMAL, "Usage: hf sniff <skip pairs> <skip triggers>");
|
PrintAndLogEx(NORMAL, "Usage: hf sniff <skip pairs> <skip triggers>");
|
||||||
|
|
|
@ -803,7 +803,7 @@ int CmdHF14ASniff(const char *Cmd) {
|
||||||
if (ctmp == 'c') param |= 0x01;
|
if (ctmp == 'c') param |= 0x01;
|
||||||
if (ctmp == 'r') param |= 0x02;
|
if (ctmp == 'r') param |= 0x02;
|
||||||
}
|
}
|
||||||
UsbCommand c = {CMD_SNOOP_ISO_14443a, {param, 0, 0}};
|
UsbCommand c = {CMD_SNIFF_ISO_14443a, {param, 0, 0}};
|
||||||
clearCommandBuffer();
|
clearCommandBuffer();
|
||||||
SendCommand(&c);
|
SendCommand(&c);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -145,7 +145,7 @@ int CmdHF14BSniff(const char *Cmd) {
|
||||||
char cmdp = tolower(param_getchar(Cmd, 0));
|
char cmdp = tolower(param_getchar(Cmd, 0));
|
||||||
if (cmdp == 'h') return usage_hf_14b_sniff();
|
if (cmdp == 'h') return usage_hf_14b_sniff();
|
||||||
|
|
||||||
UsbCommand c = {CMD_SNOOP_ISO_14443B, {0, 0, 0}};
|
UsbCommand c = {CMD_SNIFF_ISO_14443B, {0, 0, 0}};
|
||||||
clearCommandBuffer();
|
clearCommandBuffer();
|
||||||
SendCommand(&c);
|
SendCommand(&c);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -218,7 +218,7 @@ int CmdHFFelicaSniff(const char *Cmd) {
|
||||||
//Validations
|
//Validations
|
||||||
if (errors || cmdp == 0) return usage_hf_felica_sniff();
|
if (errors || cmdp == 0) return usage_hf_felica_sniff();
|
||||||
|
|
||||||
UsbCommand c = {CMD_FELICA_SNOOP, {samples2skip, triggers2skip, 0}};
|
UsbCommand c = {CMD_FELICA_SNIFF, {samples2skip, triggers2skip, 0}};
|
||||||
clearCommandBuffer();
|
clearCommandBuffer();
|
||||||
SendCommand(&c);
|
SendCommand(&c);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -279,7 +279,7 @@ int CmdHFiClassList(const char *Cmd) {
|
||||||
int CmdHFiClassSniff(const char *Cmd) {
|
int CmdHFiClassSniff(const char *Cmd) {
|
||||||
char cmdp = tolower(param_getchar(Cmd, 0));
|
char cmdp = tolower(param_getchar(Cmd, 0));
|
||||||
if (cmdp == 'h') return usage_hf_iclass_sniff();
|
if (cmdp == 'h') return usage_hf_iclass_sniff();
|
||||||
UsbCommand c = {CMD_SNOOP_ICLASS};
|
UsbCommand c = {CMD_SNIFF_ICLASS};
|
||||||
SendCommand(&c);
|
SendCommand(&c);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3506,7 +3506,7 @@ static command_t CommandTable[] = {
|
||||||
{"nack", CmdHf14AMfNack, 0, "Test for Mifare NACK bug"},
|
{"nack", CmdHf14AMfNack, 0, "Test for Mifare NACK bug"},
|
||||||
{"chk", CmdHF14AMfChk, 0, "Check keys"},
|
{"chk", CmdHF14AMfChk, 0, "Check keys"},
|
||||||
{"fchk", CmdHF14AMfChk_fast, 0, "Check keys fast, targets all keys on card"},
|
{"fchk", CmdHF14AMfChk_fast, 0, "Check keys fast, targets all keys on card"},
|
||||||
{"decrypt", CmdHf14AMfDecryptBytes, 1, "[nt] [ar_enc] [at_enc] [data] - to decrypt snoop or trace"},
|
{"decrypt", CmdHf14AMfDecryptBytes, 1, "[nt] [ar_enc] [at_enc] [data] - to decrypt sniff or trace"},
|
||||||
{"-----------", CmdHelp, 1, ""},
|
{"-----------", CmdHelp, 1, ""},
|
||||||
{"dbg", CmdHF14AMfDbg, 0, "Set default debug mode"},
|
{"dbg", CmdHF14AMfDbg, 0, "Set default debug mode"},
|
||||||
{"rdbl", CmdHF14AMfRdBl, 0, "Read MIFARE classic block"},
|
{"rdbl", CmdHF14AMfRdBl, 0, "Read MIFARE classic block"},
|
||||||
|
|
|
@ -70,8 +70,8 @@ int usage_lf_config(void) {
|
||||||
PrintAndLogEx(NORMAL, " a resolution of 4 bits per sample.");
|
PrintAndLogEx(NORMAL, " a resolution of 4 bits per sample.");
|
||||||
PrintAndLogEx(NORMAL, " lf read");
|
PrintAndLogEx(NORMAL, " lf read");
|
||||||
PrintAndLogEx(NORMAL, " Performs a read (active field)");
|
PrintAndLogEx(NORMAL, " Performs a read (active field)");
|
||||||
PrintAndLogEx(NORMAL, " lf snoop");
|
PrintAndLogEx(NORMAL, " lf sniff");
|
||||||
PrintAndLogEx(NORMAL, " Performs a snoop (no active field)");
|
PrintAndLogEx(NORMAL, " Performs a sniff (no active field)");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int usage_lf_simfsk(void) {
|
int usage_lf_simfsk(void) {
|
||||||
|
@ -389,7 +389,7 @@ int CmdLFSniff(const char *Cmd) {
|
||||||
uint8_t cmdp = tolower(param_getchar(Cmd, 0));
|
uint8_t cmdp = tolower(param_getchar(Cmd, 0));
|
||||||
if (cmdp == 'h') return usage_lf_sniff();
|
if (cmdp == 'h') return usage_lf_sniff();
|
||||||
|
|
||||||
UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES, {0, 0, 0}};
|
UsbCommand c = {CMD_LF_SNIFF_RAW_ADC_SAMPLES, {0, 0, 0}};
|
||||||
clearCommandBuffer();
|
clearCommandBuffer();
|
||||||
SendCommand(&c);
|
SendCommand(&c);
|
||||||
WaitForResponse(CMD_ACK, NULL);
|
WaitForResponse(CMD_ACK, NULL);
|
||||||
|
@ -896,12 +896,15 @@ int CmdLFfind(const char *Cmd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EM4x50Read("", false)) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("EM4x50 ID") " found!"); return 1;}
|
if (EM4x50Read("", false)) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("EM4x50 ID") " found!"); return 1;}
|
||||||
|
|
||||||
|
if (CmdHIDDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("HID Prox ID") " found!"); goto out;}
|
||||||
if (CmdAWIDDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("AWID ID") " found!"); goto out;}
|
if (CmdAWIDDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("AWID ID") " found!"); goto out;}
|
||||||
|
if (CmdParadoxDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Paradox ID") " found!"); goto out;}
|
||||||
|
|
||||||
if (CmdEM410xDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("EM410x ID") " found!"); goto out;}
|
if (CmdEM410xDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("EM410x ID") " found!"); goto out;}
|
||||||
if (CmdFdxDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("FDX-B ID") " found!"); goto out;}
|
if (CmdFdxDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("FDX-B ID") " found!"); goto out;}
|
||||||
if (CmdGuardDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Guardall G-Prox II ID") " found!"); goto out; }
|
if (CmdGuardDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Guardall G-Prox II ID") " found!"); goto out; }
|
||||||
if (CmdHIDDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("HID Prox ID") " found!"); goto out;}
|
if (CmdIdteckDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Idteck ID") " found!"); goto out;}
|
||||||
if (CmdPSKIdteck("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Idteck ID") " found!"); goto out;}
|
|
||||||
if (CmdIndalaDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Indala ID") " found!"); goto out;}
|
if (CmdIndalaDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Indala ID") " found!"); goto out;}
|
||||||
if (CmdIOProxDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("IO Prox ID") " found!"); goto out;}
|
if (CmdIOProxDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("IO Prox ID") " found!"); goto out;}
|
||||||
if (CmdJablotronDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Jablotron ID") " found!"); goto out;}
|
if (CmdJablotronDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Jablotron ID") " found!"); goto out;}
|
||||||
|
@ -910,7 +913,7 @@ int CmdLFfind(const char *Cmd) {
|
||||||
if (CmdNoralsyDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Noralsy ID") " found!"); goto out;}
|
if (CmdNoralsyDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Noralsy ID") " found!"); goto out;}
|
||||||
if (CmdKeriDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("KERI ID") " found!"); goto out;}
|
if (CmdKeriDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("KERI ID") " found!"); goto out;}
|
||||||
if (CmdPacDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("PAC/Stanley ID") " found!"); goto out;}
|
if (CmdPacDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("PAC/Stanley ID") " found!"); goto out;}
|
||||||
if (CmdParadoxDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Paradox ID") " found!"); goto out;}
|
|
||||||
if (CmdPrescoDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Presco ID") " found!"); goto out;}
|
if (CmdPrescoDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Presco ID") " found!"); goto out;}
|
||||||
if (CmdPyramidDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Pyramid ID") " found!"); goto out;}
|
if (CmdPyramidDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Pyramid ID") " found!"); goto out;}
|
||||||
if (CmdSecurakeyDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Securakey ID") " found!"); goto out;}
|
if (CmdSecurakeyDemod("")) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Securakey ID") " found!"); goto out;}
|
||||||
|
|
|
@ -174,7 +174,7 @@ int CmdLFHitagList(const char *Cmd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int CmdLFHitagSniff(const char *Cmd) {
|
int CmdLFHitagSniff(const char *Cmd) {
|
||||||
UsbCommand c = {CMD_SNOOP_HITAG};
|
UsbCommand c = {CMD_SNIFF_HITAG};
|
||||||
clearCommandBuffer();
|
clearCommandBuffer();
|
||||||
SendCommand(&c);
|
SendCommand(&c);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -96,7 +96,7 @@ typedef struct {
|
||||||
#define CMD_IO_DEMOD_FSK 0x021A
|
#define CMD_IO_DEMOD_FSK 0x021A
|
||||||
#define CMD_IO_CLONE_TAG 0x021B
|
#define CMD_IO_CLONE_TAG 0x021B
|
||||||
#define CMD_EM410X_DEMOD 0x021c
|
#define CMD_EM410X_DEMOD 0x021c
|
||||||
// Sampling configuration for LF reader/snooper
|
// Sampling configuration for LF reader/sniffer
|
||||||
#define CMD_SET_LF_SAMPLING_CONFIG 0x021d
|
#define CMD_SET_LF_SAMPLING_CONFIG 0x021d
|
||||||
#define CMD_FSK_SIM_TAG 0x021E
|
#define CMD_FSK_SIM_TAG 0x021E
|
||||||
#define CMD_ASK_SIM_TAG 0x021F
|
#define CMD_ASK_SIM_TAG 0x021F
|
||||||
|
@ -119,10 +119,10 @@ typedef struct {
|
||||||
#define CMD_ISO_15693_COMMAND 0x0313
|
#define CMD_ISO_15693_COMMAND 0x0313
|
||||||
#define CMD_ISO_15693_COMMAND_DONE 0x0314
|
#define CMD_ISO_15693_COMMAND_DONE 0x0314
|
||||||
#define CMD_ISO_15693_FIND_AFI 0x0315
|
#define CMD_ISO_15693_FIND_AFI 0x0315
|
||||||
#define CMD_LF_SNOOP_RAW_ADC_SAMPLES 0x0317
|
#define CMD_LF_SNIFF_RAW_ADC_SAMPLES 0x0317
|
||||||
|
|
||||||
// For Hitag2 transponders
|
// For Hitag2 transponders
|
||||||
#define CMD_SNOOP_HITAG 0x0370
|
#define CMD_SNIFF_HITAG 0x0370
|
||||||
#define CMD_SIMULATE_HITAG 0x0371
|
#define CMD_SIMULATE_HITAG 0x0371
|
||||||
#define CMD_READER_HITAG 0x0372
|
#define CMD_READER_HITAG 0x0372
|
||||||
|
|
||||||
|
@ -135,8 +135,8 @@ typedef struct {
|
||||||
|
|
||||||
#define CMD_ANTIFUZZ_ISO_14443a 0x0380
|
#define CMD_ANTIFUZZ_ISO_14443a 0x0380
|
||||||
#define CMD_SIMULATE_TAG_ISO_14443B 0x0381
|
#define CMD_SIMULATE_TAG_ISO_14443B 0x0381
|
||||||
#define CMD_SNOOP_ISO_14443B 0x0382
|
#define CMD_SNIFF_ISO_14443B 0x0382
|
||||||
#define CMD_SNOOP_ISO_14443a 0x0383
|
#define CMD_SNIFF_ISO_14443a 0x0383
|
||||||
#define CMD_SIMULATE_TAG_ISO_14443a 0x0384
|
#define CMD_SIMULATE_TAG_ISO_14443a 0x0384
|
||||||
#define CMD_READER_ISO_14443a 0x0385
|
#define CMD_READER_ISO_14443a 0x0385
|
||||||
|
|
||||||
|
@ -151,7 +151,7 @@ typedef struct {
|
||||||
#define CMD_LEGIC_ESET 0x03BD
|
#define CMD_LEGIC_ESET 0x03BD
|
||||||
#define CMD_LEGIC_EGET 0x03BE
|
#define CMD_LEGIC_EGET 0x03BE
|
||||||
|
|
||||||
#define CMD_SNOOP_ICLASS 0x0392
|
#define CMD_SNIFF_ICLASS 0x0392
|
||||||
#define CMD_SIMULATE_TAG_ICLASS 0x0393
|
#define CMD_SIMULATE_TAG_ICLASS 0x0393
|
||||||
#define CMD_READER_ICLASS 0x0394
|
#define CMD_READER_ICLASS 0x0394
|
||||||
#define CMD_READER_ICLASS_REPLAY 0x0395
|
#define CMD_READER_ICLASS_REPLAY 0x0395
|
||||||
|
|
|
@ -129,7 +129,7 @@ typedef struct {
|
||||||
#define CMD_IO_DEMOD_FSK 0x021A
|
#define CMD_IO_DEMOD_FSK 0x021A
|
||||||
#define CMD_IO_CLONE_TAG 0x021B
|
#define CMD_IO_CLONE_TAG 0x021B
|
||||||
#define CMD_EM410X_DEMOD 0x021c
|
#define CMD_EM410X_DEMOD 0x021c
|
||||||
// Sampling configuration for LF reader/snooper
|
// Sampling configuration for LF reader/sniffer
|
||||||
#define CMD_SET_LF_SAMPLING_CONFIG 0x021d
|
#define CMD_SET_LF_SAMPLING_CONFIG 0x021d
|
||||||
#define CMD_FSK_SIM_TAG 0x021E
|
#define CMD_FSK_SIM_TAG 0x021E
|
||||||
#define CMD_ASK_SIM_TAG 0x021F
|
#define CMD_ASK_SIM_TAG 0x021F
|
||||||
|
@ -154,10 +154,10 @@ typedef struct {
|
||||||
#define CMD_ISO_15693_COMMAND 0x0313
|
#define CMD_ISO_15693_COMMAND 0x0313
|
||||||
#define CMD_ISO_15693_COMMAND_DONE 0x0314
|
#define CMD_ISO_15693_COMMAND_DONE 0x0314
|
||||||
#define CMD_ISO_15693_FIND_AFI 0x0315
|
#define CMD_ISO_15693_FIND_AFI 0x0315
|
||||||
#define CMD_LF_SNOOP_RAW_ADC_SAMPLES 0x0317
|
#define CMD_LF_SNIFF_RAW_ADC_SAMPLES 0x0317
|
||||||
|
|
||||||
// For Hitag2 transponders
|
// For Hitag2 transponders
|
||||||
#define CMD_SNOOP_HITAG 0x0370
|
#define CMD_SNIFF_HITAG 0x0370
|
||||||
#define CMD_SIMULATE_HITAG 0x0371
|
#define CMD_SIMULATE_HITAG 0x0371
|
||||||
#define CMD_READER_HITAG 0x0372
|
#define CMD_READER_HITAG 0x0372
|
||||||
|
|
||||||
|
@ -170,9 +170,9 @@ typedef struct {
|
||||||
|
|
||||||
#define CMD_ANTIFUZZ_ISO_14443a 0x0380
|
#define CMD_ANTIFUZZ_ISO_14443a 0x0380
|
||||||
#define CMD_SIMULATE_TAG_ISO_14443B 0x0381
|
#define CMD_SIMULATE_TAG_ISO_14443B 0x0381
|
||||||
#define CMD_SNOOP_ISO_14443B 0x0382
|
#define CMD_SNIFF_ISO_14443B 0x0382
|
||||||
|
|
||||||
#define CMD_SNOOP_ISO_14443a 0x0383
|
#define CMD_SNIFF_ISO_14443a 0x0383
|
||||||
#define CMD_SIMULATE_TAG_ISO_14443a 0x0384
|
#define CMD_SIMULATE_TAG_ISO_14443a 0x0384
|
||||||
|
|
||||||
#define CMD_READER_ISO_14443a 0x0385
|
#define CMD_READER_ISO_14443a 0x0385
|
||||||
|
@ -192,7 +192,7 @@ typedef struct {
|
||||||
#define CMD_ICLASS_READCHECK 0x038F
|
#define CMD_ICLASS_READCHECK 0x038F
|
||||||
#define CMD_ICLASS_CLONE 0x0390
|
#define CMD_ICLASS_CLONE 0x0390
|
||||||
#define CMD_ICLASS_DUMP 0x0391
|
#define CMD_ICLASS_DUMP 0x0391
|
||||||
#define CMD_SNOOP_ICLASS 0x0392
|
#define CMD_SNIFF_ICLASS 0x0392
|
||||||
#define CMD_SIMULATE_TAG_ICLASS 0x0393
|
#define CMD_SIMULATE_TAG_ICLASS 0x0393
|
||||||
#define CMD_READER_ICLASS 0x0394
|
#define CMD_READER_ICLASS 0x0394
|
||||||
#define CMD_READER_ICLASS_REPLAY 0x0395
|
#define CMD_READER_ICLASS_REPLAY 0x0395
|
||||||
|
@ -204,7 +204,7 @@ typedef struct {
|
||||||
|
|
||||||
// For ISO1092 / FeliCa
|
// For ISO1092 / FeliCa
|
||||||
#define CMD_FELICA_SIMULATE_TAG 0x03A0
|
#define CMD_FELICA_SIMULATE_TAG 0x03A0
|
||||||
#define CMD_FELICA_SNOOP 0x03A1
|
#define CMD_FELICA_SNIFF 0x03A1
|
||||||
#define CMD_FELICA_COMMAND 0x03A2
|
#define CMD_FELICA_COMMAND 0x03A2
|
||||||
//temp
|
//temp
|
||||||
#define CMD_FELICA_LITE_DUMP 0x03AA
|
#define CMD_FELICA_LITE_DUMP 0x03AA
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue