mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-14 18:48:13 -07:00
Reduce some var scopes
This commit is contained in:
parent
ac6b0ec1ce
commit
732bc766f9
52 changed files with 318 additions and 409 deletions
|
@ -29,10 +29,9 @@ extern void bucket_sort_intersect(uint32_t *const estart, uint32_t *const estop,
|
|||
|
||||
// write back intersecting buckets as sorted list.
|
||||
// fill in bucket_info with head and tail of the bucket contents in the list and number of non-empty buckets.
|
||||
uint32_t nonempty_bucket;
|
||||
for (uint32_t i = 0; i < 2; i++) {
|
||||
p1 = start[i];
|
||||
nonempty_bucket = 0;
|
||||
uint32_t nonempty_bucket = 0;
|
||||
for (uint32_t j = 0x00; j <= 0xff; j++) {
|
||||
if (bucket[0][j].bp != bucket[0][j].head && bucket[1][j].bp != bucket[1][j].head) { // non-empty intersecting buckets only
|
||||
bucket_info->bucket_info[i][nonempty_bucket].head = p1;
|
||||
|
|
|
@ -369,12 +369,12 @@ uint32_t lfsr_rollback_word(struct Crypto1State *s, uint32_t in, int fb) {
|
|||
*/
|
||||
static uint16_t *dist = 0;
|
||||
int nonce_distance(uint32_t from, uint32_t to) {
|
||||
uint16_t x, i;
|
||||
if (!dist) {
|
||||
dist = calloc(2 << 16, sizeof(uint8_t));
|
||||
if (!dist)
|
||||
return -1;
|
||||
for (x = i = 1; i; ++i) {
|
||||
uint16_t x = 1;
|
||||
for (uint16_t i = 1; i; ++i) {
|
||||
dist[(x & 0xff) << 8 | x >> 8] = i;
|
||||
x = x >> 1 | (x ^ x >> 2 ^ x >> 3 ^ x >> 5) << 15;
|
||||
}
|
||||
|
@ -412,12 +412,12 @@ uint32_t *lfsr_prefix_ks(uint8_t ks[8], int isodd) {
|
|||
uint32_t *candidates = calloc(4 << 10, sizeof(uint8_t));
|
||||
if (!candidates) return 0;
|
||||
|
||||
uint32_t c, entry;
|
||||
int size = 0, i, good;
|
||||
int size = 0;
|
||||
|
||||
for (i = 0; i < 1 << 21; ++i) {
|
||||
for (c = 0, good = 1; good && c < 8; ++c) {
|
||||
entry = i ^ fastfwd[isodd][c];
|
||||
for (int i = 0; i < 1 << 21; ++i) {
|
||||
int good = 1;
|
||||
for (uint32_t c = 0; good && c < 8; ++c) {
|
||||
uint32_t entry = i ^ fastfwd[isodd][c];
|
||||
good &= (BIT(ks[c], isodd) == filter(entry >> 1));
|
||||
good &= (BIT(ks[c], isodd + 2) == filter(entry));
|
||||
}
|
||||
|
@ -434,24 +434,24 @@ uint32_t *lfsr_prefix_ks(uint8_t ks[8], int isodd) {
|
|||
* helper function which eliminates possible secret states using parity bits
|
||||
*/
|
||||
static struct Crypto1State *check_pfx_parity(uint32_t prefix, uint32_t rresp, uint8_t parities[8][8], uint32_t odd, uint32_t even, struct Crypto1State *sl, uint32_t no_par) {
|
||||
uint32_t ks1, nr, ks2, rr, ks3, c, good = 1;
|
||||
uint32_t good = 1;
|
||||
|
||||
for (c = 0; good && c < 8; ++c) {
|
||||
for (uint32_t c = 0; good && c < 8; ++c) {
|
||||
sl->odd = odd ^ fastfwd[1][c];
|
||||
sl->even = even ^ fastfwd[0][c];
|
||||
|
||||
lfsr_rollback_bit(sl, 0, 0);
|
||||
lfsr_rollback_bit(sl, 0, 0);
|
||||
|
||||
ks3 = lfsr_rollback_bit(sl, 0, 0);
|
||||
ks2 = lfsr_rollback_word(sl, 0, 0);
|
||||
ks1 = lfsr_rollback_word(sl, prefix | c << 5, 1);
|
||||
uint32_t ks3 = lfsr_rollback_bit(sl, 0, 0);
|
||||
uint32_t ks2 = lfsr_rollback_word(sl, 0, 0);
|
||||
uint32_t ks1 = lfsr_rollback_word(sl, prefix | c << 5, 1);
|
||||
|
||||
if (no_par)
|
||||
break;
|
||||
|
||||
nr = ks1 ^ (prefix | c << 5);
|
||||
rr = ks2 ^ rresp;
|
||||
uint32_t nr = ks1 ^ (prefix | c << 5);
|
||||
uint32_t rr = ks2 ^ rresp;
|
||||
|
||||
good &= evenparity32(nr & 0x000000ff) ^ parities[c][3] ^ BIT(ks2, 24);
|
||||
good &= evenparity32(rr & 0xff000000) ^ parities[c][4] ^ BIT(ks2, 16);
|
||||
|
|
|
@ -51,16 +51,14 @@ void init_table(CrcType_t crctype) {
|
|||
|
||||
void generate_table(uint16_t polynomial, bool refin) {
|
||||
|
||||
uint16_t i, j, crc, c;
|
||||
|
||||
for (i = 0; i < 256; i++) {
|
||||
crc = 0;
|
||||
for (uint16_t i = 0; i < 256; i++) {
|
||||
uint16_t c, crc = 0;
|
||||
if (refin)
|
||||
c = reflect8(i) << 8;
|
||||
else
|
||||
c = i << 8;
|
||||
|
||||
for (j = 0; j < 8; j++) {
|
||||
for (uint16_t j = 0; j < 8; j++) {
|
||||
|
||||
if ((crc ^ c) & 0x8000)
|
||||
crc = (crc << 1) ^ polynomial;
|
||||
|
@ -109,11 +107,10 @@ uint16_t crc16_fast(uint8_t const *d, size_t n, uint16_t initval, bool refin, bo
|
|||
|
||||
// bit looped solution TODO REMOVED
|
||||
uint16_t update_crc16_ex(uint16_t crc, uint8_t c, uint16_t polynomial) {
|
||||
uint16_t i, v, tmp = 0;
|
||||
uint16_t tmp = 0;
|
||||
uint16_t v = (crc ^ c) & 0xff;
|
||||
|
||||
v = (crc ^ c) & 0xff;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
for (uint16_t i = 0; i < 8; i++) {
|
||||
|
||||
if ((tmp ^ v) & 1)
|
||||
tmp = (tmp >> 1) ^ polynomial;
|
||||
|
@ -133,9 +130,8 @@ uint16_t Crc16(uint8_t const *d, size_t length, uint16_t remainder, uint16_t pol
|
|||
if (length == 0)
|
||||
return (~remainder);
|
||||
|
||||
uint8_t c;
|
||||
for (uint32_t i = 0; i < length; ++i) {
|
||||
c = d[i];
|
||||
uint8_t c = d[i];
|
||||
if (refin) c = reflect8(c);
|
||||
|
||||
// xor in at msb
|
||||
|
|
|
@ -333,7 +333,7 @@ void getNextHigh(uint8_t *samples, size_t size, int high, size_t *i) {
|
|||
|
||||
// load wave counters
|
||||
bool loadWaveCounters(uint8_t *samples, size_t size, int lowToLowWaveLen[], int highToLowWaveLen[], int *waveCnt, int *skip, int *minClk, int *high, int *low) {
|
||||
size_t i = 0, firstLow, firstHigh;
|
||||
size_t i = 0;
|
||||
//size_t testsize = (size < 512) ? size : 512;
|
||||
|
||||
// just noise - no super good detection. good enough
|
||||
|
@ -352,10 +352,10 @@ bool loadWaveCounters(uint8_t *samples, size_t size, int lowToLowWaveLen[], int
|
|||
// populate tmpbuff buffer with pulse lengths
|
||||
while (i < size) {
|
||||
// measure from low to low
|
||||
firstLow = i;
|
||||
size_t firstLow = i;
|
||||
//find first high point for this wave
|
||||
getNextHigh(samples, size, *high, &i);
|
||||
firstHigh = i;
|
||||
size_t firstHigh = i;
|
||||
|
||||
getNextLow(samples, size, *low, &i);
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ uint16_t usart_rxdata_available(void) {
|
|||
|
||||
uint32_t usart_read_ng(uint8_t *data, size_t len) {
|
||||
if (len == 0) return 0;
|
||||
uint32_t packetSize, nbBytesRcv = 0;
|
||||
uint32_t nbBytesRcv = 0;
|
||||
uint32_t try = 0;
|
||||
// uint32_t highest_observed_try = 0;
|
||||
// Empirical max try observed: 3000000 / USART_BAUD_RATE
|
||||
|
@ -129,7 +129,7 @@ uint32_t usart_read_ng(uint8_t *data, size_t len) {
|
|||
while (len) {
|
||||
uint32_t available = usart_rxdata_available();
|
||||
|
||||
packetSize = MIN(available, len);
|
||||
uint32_t packetSize = MIN(available, len);
|
||||
if (available > 0) {
|
||||
// Dbprintf_usb("Dbg USART ask %d bytes, available %d bytes, packetsize %d bytes", len, available, packetSize);
|
||||
// highest_observed_try = MAX(highest_observed_try, try);
|
||||
|
|
|
@ -766,11 +766,10 @@ int usb_write(const uint8_t *data, const size_t len) {
|
|||
//* \brief Send Data through the control endpoint
|
||||
//*----------------------------------------------------------------------------
|
||||
void AT91F_USB_SendData(AT91PS_UDP pUdp, const char *pData, uint32_t length) {
|
||||
uint32_t cpt = 0;
|
||||
AT91_REG csr;
|
||||
|
||||
do {
|
||||
cpt = MIN(length, AT91C_EP_CONTROL_SIZE);
|
||||
uint32_t cpt = MIN(length, AT91C_EP_CONTROL_SIZE);
|
||||
length -= cpt;
|
||||
|
||||
while (cpt--)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue