fix: WITH_EM4x70. Get rid of the dependency on WITH_ICLASS.

This commit is contained in:
douniwan5788 2024-08-26 01:54:32 +08:00
commit 5d66bcfd75
9 changed files with 20 additions and 40 deletions

View file

@ -377,7 +377,7 @@ static int bruteforce(const uint8_t address, const uint8_t *rnd, const uint8_t *
uint8_t rev_rnd[7];
uint8_t temp_rnd[7];
reverse_arraycopy((uint8_t *)rnd, rev_rnd, sizeof(rev_rnd));
reverse_arraybytes_copy((uint8_t *)rnd, rev_rnd, sizeof(rev_rnd));
memcpy(temp_rnd, rnd, sizeof(temp_rnd));
for (int k = start_key; k <= 0xFFFF; ++k) {

View file

@ -114,24 +114,3 @@ uint64_t x_bytes_to_num(uint8_t *src, size_t len) {
return num;
}
uint8_t reversebyte(uint8_t b) {
b = (b & 0xF0) >> 4 | (b & 0x0F) << 4;
b = (b & 0xCC) >> 2 | (b & 0x33) << 2;
b = (b & 0xAA) >> 1 | (b & 0x55) << 1;
return b;
}
void reverse_arraybytes(uint8_t *arr, size_t len) {
size_t i;
for (i = 0; i < len ; i++) {
arr[i] = reversebyte(arr[i]);
}
}
void reverse_arraycopy(uint8_t *arr, uint8_t *dest, size_t len) {
size_t i;
for (i = 0; i < len ; i++) {
dest[i] = reversebyte(arr[i]);
}
}

View file

@ -57,7 +57,4 @@ int bitsLeft(BitstreamIn_t *stream);
void push6bits(BitstreamOut_t *stream, uint8_t bits);
void x_num_to_bytes(uint64_t n, size_t len, uint8_t *dest);
uint64_t x_bytes_to_num(uint8_t *src, size_t len);
uint8_t reversebyte(uint8_t b);
void reverse_arraybytes(uint8_t *arr, size_t len);
void reverse_arraycopy(uint8_t *arr, uint8_t *dest, size_t len);
#endif // CIPHERUTILS_H

View file

@ -34,6 +34,7 @@
#include "cipher.h"
#include "cipherutils.h"
#include "commonutil.h"
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>

View file

@ -125,18 +125,6 @@ uint64_t x_bytes_to_num(uint8_t *src, size_t len) {
return num;
}
void reverse_arraybytes(uint8_t *arr, size_t len) {
for (size_t i = 0; i < len ; i++) {
arr[i] = reflect8(arr[i]);
}
}
void reverse_arraycopy(uint8_t *arr, uint8_t *dest, size_t len) {
for (size_t i = 0; i < len ; i++) {
dest[i] = reflect8(arr[i]);
}
}
void printarr(const char *name, uint8_t *arr, int len) {
if (name == NULL || arr == NULL) return;

View file

@ -62,9 +62,6 @@ int testCipherUtils(void);
void push6bits(BitstreamOut_t *stream, uint8_t bits);
void x_num_to_bytes(uint64_t n, size_t len, uint8_t *dest);
uint64_t x_bytes_to_num(uint8_t *src, size_t len);
uint8_t reversebyte(uint8_t b);
void reverse_arraybytes(uint8_t *arr, size_t len);
void reverse_arraycopy(uint8_t *arr, uint8_t *dest, size_t len);
void printarr(const char *name, uint8_t *arr, int len);
void printarr_human_readable(const char *title, uint8_t *arr, int len);
#endif // CIPHERUTILS_H

View file

@ -549,3 +549,17 @@ bool hexstr_to_byte_array(const char *hexstr, uint8_t *d, size_t *n) {
}
return true;
}
void reverse_arraybytes(uint8_t *arr, size_t len) {
size_t i;
for (i = 0; i < len ; i++) {
arr[i] = reflect8(arr[i]);
}
}
void reverse_arraybytes_copy(uint8_t *arr, uint8_t *dest, size_t len) {
size_t i;
for (i = 0; i < len ; i++) {
dest[i] = reflect8(arr[i]);
}
}

View file

@ -130,4 +130,7 @@ void reverse_array(uint8_t *d, size_t n);
void reverse_array_copy(const uint8_t *src, int src_len, uint8_t *dest);
bool hexstr_to_byte_array(const char *hexstr, uint8_t *d, size_t *n);
void reverse_arraybytes(uint8_t *arr, size_t len);
void reverse_arraybytes_copy(uint8_t *arr, uint8_t *dest, size_t len);
#endif

View file

@ -73,6 +73,7 @@ and you can specify which parts to skip in order to reduce the size:
SKIP_LF=1
SKIP_HITAG=1
SKIP_EM4x50=1
SKIP_EM4x70=1
SKIP_ISO15693=1
SKIP_LEGICRF=1
SKIP_ISO14443b=1