mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 21:33:47 -07:00
CHG: some textual change and some syntax suger changes.
This commit is contained in:
parent
cb832982c9
commit
5eceba292f
4 changed files with 39 additions and 37 deletions
|
@ -520,9 +520,8 @@ struct Crypto1State* lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8]
|
||||||
s = statelist = malloc((sizeof *statelist) << 21);
|
s = statelist = malloc((sizeof *statelist) << 21);
|
||||||
if(!s || !odd || !even) {
|
if(!s || !odd || !even) {
|
||||||
free(statelist);
|
free(statelist);
|
||||||
free(odd);
|
statelist = 0;
|
||||||
free(even);
|
goto out;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(o = odd; *o + 1; ++o)
|
for(o = odd; *o + 1; ++o)
|
||||||
|
@ -534,7 +533,7 @@ struct Crypto1State* lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8]
|
||||||
}
|
}
|
||||||
|
|
||||||
s->odd = s->even = 0;
|
s->odd = s->even = 0;
|
||||||
|
out:
|
||||||
free(odd);
|
free(odd);
|
||||||
free(even);
|
free(even);
|
||||||
return statelist;
|
return statelist;
|
||||||
|
|
|
@ -64,6 +64,7 @@ void SetAdcMuxFor(uint32_t whichGpio);
|
||||||
#define FPGA_HF_SIMULATOR_MODULATE_212K (2<<0)
|
#define FPGA_HF_SIMULATOR_MODULATE_212K (2<<0)
|
||||||
#define FPGA_HF_SIMULATOR_MODULATE_424K (4<<0)
|
#define FPGA_HF_SIMULATOR_MODULATE_424K (4<<0)
|
||||||
#define FPGA_HF_SIMULATOR_MODULATE_424K_8BIT 0x5//101
|
#define FPGA_HF_SIMULATOR_MODULATE_424K_8BIT 0x5//101
|
||||||
|
// no 848K
|
||||||
|
|
||||||
// Options for ISO14443A
|
// Options for ISO14443A
|
||||||
#define FPGA_HF_ISO14443A_SNIFFER (0<<0)
|
#define FPGA_HF_ISO14443A_SNIFFER (0<<0)
|
||||||
|
|
|
@ -19,7 +19,7 @@ static void RAMFUNC optimizedSnoop(void)
|
||||||
if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY)
|
if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY)
|
||||||
{
|
{
|
||||||
*dest = (uint16_t)(AT91C_BASE_SSC->SSC_RHR);
|
*dest = (uint16_t)(AT91C_BASE_SSC->SSC_RHR);
|
||||||
dest = dest + 1;
|
++dest;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//Resetting Frame mode (First set in fpgaloader.c)
|
//Resetting Frame mode (First set in fpgaloader.c)
|
||||||
|
@ -54,6 +54,7 @@ void HfSnoop(int samplesToSkip, int triggersToSkip)
|
||||||
r = MAX(r & 0xff, r >> 8);
|
r = MAX(r & 0xff, r >> 8);
|
||||||
if (r >= 240)
|
if (r >= 240)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (++trigger_cnt > triggersToSkip) {
|
if (++trigger_cnt > triggersToSkip) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -64,9 +65,9 @@ void HfSnoop(int samplesToSkip, int triggersToSkip)
|
||||||
if(!BUTTON_PRESS()) {
|
if(!BUTTON_PRESS()) {
|
||||||
int waitcount = samplesToSkip; // lets wait 40000 ticks of pck0
|
int waitcount = samplesToSkip; // lets wait 40000 ticks of pck0
|
||||||
while(waitcount != 0) {
|
while(waitcount != 0) {
|
||||||
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
|
|
||||||
waitcount--;
|
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY))
|
||||||
}
|
--waitcount;
|
||||||
}
|
}
|
||||||
optimizedSnoop();
|
optimizedSnoop();
|
||||||
Dbprintf("Trigger kicked! Value: %d, Dumping Samples Hispeed now.", r);
|
Dbprintf("Trigger kicked! Value: %d, Dumping Samples Hispeed now.", r);
|
||||||
|
|
|
@ -919,7 +919,7 @@ static void CodeIClassTagAnswer(const uint8_t *cmd, int len)
|
||||||
* The mode FPGA_HF_SIMULATOR_MODULATE_424K_8BIT which we use to simulate tag,
|
* The mode FPGA_HF_SIMULATOR_MODULATE_424K_8BIT which we use to simulate tag,
|
||||||
* works like this.
|
* works like this.
|
||||||
* - A 1-bit input to the FPGA becomes 8 pulses on 423.5kHz (fc/32) (18.88us).
|
* - A 1-bit input to the FPGA becomes 8 pulses on 423.5kHz (fc/32) (18.88us).
|
||||||
* - A 0-bit inptu to the FPGA becomes an unmodulated time of 18.88us
|
* - A 0-bit input to the FPGA becomes an unmodulated time of 18.88us
|
||||||
*
|
*
|
||||||
* In this mode the SOF can be written as 00011101 = 0x1D
|
* In this mode the SOF can be written as 00011101 = 0x1D
|
||||||
* The EOF can be written as 10111000 = 0xb8
|
* The EOF can be written as 10111000 = 0xb8
|
||||||
|
@ -1384,6 +1384,7 @@ static int SendIClassAnswer(uint8_t *resp, int respLen, int delay)
|
||||||
static void TransmitIClassCommand(const uint8_t *cmd, int len, int *samples, int *wait)
|
static void TransmitIClassCommand(const uint8_t *cmd, int len, int *samples, int *wait)
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
|
volatile uint32_t r;
|
||||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD);
|
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD);
|
||||||
AT91C_BASE_SSC->SSC_THR = 0x00;
|
AT91C_BASE_SSC->SSC_THR = 0x00;
|
||||||
FpgaSetupSsc();
|
FpgaSetupSsc();
|
||||||
|
@ -1397,7 +1398,7 @@ static void TransmitIClassCommand(const uint8_t *cmd, int len, int *samples, int
|
||||||
c++;
|
c++;
|
||||||
}
|
}
|
||||||
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
|
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
|
||||||
volatile uint32_t r = AT91C_BASE_SSC->SSC_RHR;
|
r = AT91C_BASE_SSC->SSC_RHR;
|
||||||
(void)r;
|
(void)r;
|
||||||
}
|
}
|
||||||
WDT_HIT();
|
WDT_HIT();
|
||||||
|
@ -1419,26 +1420,26 @@ static void TransmitIClassCommand(const uint8_t *cmd, int len, int *samples, int
|
||||||
sendbyte = (cmd[c] & 0x0f) | (cmd[c] << 4);
|
sendbyte = (cmd[c] & 0x0f) | (cmd[c] << 4);
|
||||||
c++;
|
c++;
|
||||||
}
|
}
|
||||||
if(sendbyte == 0xff) {
|
|
||||||
|
if(sendbyte == 0xff)
|
||||||
sendbyte = 0xfe;
|
sendbyte = 0xfe;
|
||||||
}
|
|
||||||
AT91C_BASE_SSC->SSC_THR = sendbyte;
|
AT91C_BASE_SSC->SSC_THR = sendbyte;
|
||||||
firstpart = !firstpart;
|
firstpart = !firstpart;
|
||||||
|
|
||||||
if(c >= len) {
|
if(c >= len) break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
|
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
|
||||||
volatile uint32_t r = AT91C_BASE_SSC->SSC_RHR;
|
r = AT91C_BASE_SSC->SSC_RHR;
|
||||||
(void)r;
|
(void)r;
|
||||||
}
|
}
|
||||||
|
|
||||||
WDT_HIT();
|
WDT_HIT();
|
||||||
}
|
}
|
||||||
if (samples && wait) *samples = (c + *wait) << 3;
|
if (samples && wait) *samples = (c + *wait) << 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Prepare iClass reader command to send to FPGA
|
// Prepare iClass reader command to send to FPGA
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue