mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-20 12:07:05 +08:00
Merge remote-tracking branch 'upstream/master' into hf_mf_sim
This commit is contained in:
commit
1e20316cee
8 changed files with 22 additions and 21 deletions
|
@ -1352,7 +1352,7 @@ int CmdHF14AMfNestedHard(const char *Cmd) {
|
|||
case 'r':
|
||||
fptr = GenerateFilename("hf-mf-", "-nonces.bin");
|
||||
if (fptr == NULL)
|
||||
strncpy(filename, "nonces.bin", FILE_PATH_SIZE);
|
||||
strncpy(filename, "nonces.bin", FILE_PATH_SIZE - 1);
|
||||
else
|
||||
strncpy(filename, fptr, FILE_PATH_SIZE - 1);
|
||||
|
||||
|
@ -1540,7 +1540,7 @@ int CmdHF14AMfChk_fast(const char *Cmd) {
|
|||
char buf[13];
|
||||
char *fptr;
|
||||
uint8_t tempkey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
|
||||
uint8_t *keyBlock = NULL, *p;
|
||||
uint8_t *keyBlock, *p;
|
||||
uint8_t sectorsCnt = 1;
|
||||
int i, keycnt = 0;
|
||||
int clen = 0;
|
||||
|
@ -1788,7 +1788,7 @@ int CmdHF14AMfChk(const char *Cmd) {
|
|||
FILE *f;
|
||||
char filename[FILE_PATH_SIZE] = {0};
|
||||
char buf[13];
|
||||
uint8_t *keyBlock = NULL, *p;
|
||||
uint8_t *keyBlock, *p;
|
||||
sector_t *e_sector = NULL;
|
||||
|
||||
uint8_t blockNo = 0;
|
||||
|
|
|
@ -1244,7 +1244,7 @@ int CmdEM4x05Write(const char *Cmd) {
|
|||
PrintAndLogEx(NORMAL, "Writing address %d data %08X using password %08X", addr, data, pwd);
|
||||
}
|
||||
|
||||
uint16_t flag = (addr << 8) | usePwd;
|
||||
uint16_t flag = (addr << 8) | (usePwd);
|
||||
|
||||
UsbCommand c = {CMD_EM4X_WRITE_WORD, {flag, data, pwd}};
|
||||
clearCommandBuffer();
|
||||
|
|
|
@ -257,7 +257,7 @@ int CmdIOProxSim(const char *Cmd) {
|
|||
fc = param_get8(Cmd, 1);
|
||||
cn = param_get32ex(Cmd, 2, 0, 10);
|
||||
|
||||
if (!version | !fc || !cn) return usage_lf_io_sim();
|
||||
if (!version || !fc || !cn) return usage_lf_io_sim();
|
||||
|
||||
if ((cn & 0xFFFF) != cn) {
|
||||
cn &= 0xFFFF;
|
||||
|
@ -303,7 +303,7 @@ int CmdIOProxClone(const char *Cmd) {
|
|||
fc = param_get8(Cmd, 1);
|
||||
cn = param_get32ex(Cmd, 2, 0, 10);
|
||||
|
||||
if (!version | !fc || !cn) return usage_lf_io_clone();
|
||||
if (!version || !fc || !cn) return usage_lf_io_clone();
|
||||
|
||||
if ((cn & 0xFFFF) != cn) {
|
||||
cn &= 0xFFFF;
|
||||
|
|
|
@ -1363,7 +1363,7 @@ bool AquireData(uint8_t page, uint8_t block, bool pwdmode, uint32_t password) {
|
|||
// bit1 = page to read from
|
||||
// arg1: which block to read
|
||||
// arg2: password
|
||||
uint8_t arg0 = ((page << 1) | pwdmode);
|
||||
uint8_t arg0 = ( page << 1 | (pwdmode) );
|
||||
UsbCommand c = {CMD_T55XX_READ_BLOCK, {arg0, block, password}};
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
|
@ -1382,7 +1382,7 @@ char *GetBitRateStr(uint32_t id, bool xmode) {
|
|||
|
||||
char *retStr = buf;
|
||||
if (xmode) { //xmode bitrate calc is same as em4x05 calc
|
||||
snprintf(retStr, sizeof(buf), "%d - RF/%d", id, EM4x05_GET_BITRATE(id));
|
||||
snprintf(retStr, sizeof(buf), "%u - RF/%d", id, EM4x05_GET_BITRATE(id));
|
||||
} else {
|
||||
switch (id) {
|
||||
case 0:
|
||||
|
|
|
@ -73,8 +73,7 @@ static bool print_cb(void *data, const struct tlv *tlv, int level, bool is_leaf)
|
|||
|
||||
int asn1_print(uint8_t *asn1buf, size_t asn1buflen, char *indent) {
|
||||
|
||||
struct tlvdb *t = NULL;
|
||||
t = tlvdb_parse_multi(asn1buf, asn1buflen);
|
||||
struct tlvdb *t = tlvdb_parse_multi(asn1buf, asn1buflen);
|
||||
if (t) {
|
||||
tlvdb_visit(t, print_cb, NULL, 0);
|
||||
tlvdb_free(t);
|
||||
|
|
|
@ -522,10 +522,12 @@ uprog(const poly_t gpoly, int flags, unsigned long seq) {
|
|||
if (!seq)
|
||||
return;
|
||||
string = ptostr(gpoly, P_RTJUST, 4);
|
||||
fprintf(stderr, "%s: searching: width=%ld poly=0x%s refin=%s refout=%s\n",
|
||||
myname, plen(gpoly), string,
|
||||
(flags & P_REFIN ? "true" : "false"),
|
||||
(flags & P_REFOUT ? "true" : "false")
|
||||
fprintf(stderr, "%s: searching: width=%lu poly=0x%s refin=%s refout=%s\n",
|
||||
myname,
|
||||
plen(gpoly),
|
||||
string,
|
||||
((flags & P_REFIN) ? "true" : "false"),
|
||||
((flags & P_REFOUT) ? "true" : "false")
|
||||
);
|
||||
free(string);
|
||||
}
|
||||
|
|
|
@ -252,7 +252,7 @@ struct Crypto1State *lfsr_recovery64(uint32_t ks2, uint32_t ks3) {
|
|||
continue;
|
||||
|
||||
for (j = 0; j < 19; ++j)
|
||||
low = low << 1 | evenparity32(i & S1[j]);
|
||||
low = low << 1 | (evenparity32(i & S1[j]));
|
||||
for (j = 0; j < 32; ++j)
|
||||
hi[j] = evenparity32(i & T1[j]);
|
||||
|
||||
|
@ -265,17 +265,17 @@ struct Crypto1State *lfsr_recovery64(uint32_t ks2, uint32_t ks3) {
|
|||
}
|
||||
|
||||
for (j = 0; j < 19; ++j)
|
||||
win = win << 1 | evenparity32(*tail & S2[j]);
|
||||
win = win << 1 | (evenparity32(*tail & S2[j]));
|
||||
|
||||
win ^= low;
|
||||
for (j = 0; j < 32; ++j) {
|
||||
win = win << 1 ^ hi[j] ^ evenparity32(*tail & T2[j]);
|
||||
win = win << 1 ^ hi[j] ^ (evenparity32(*tail & T2[j]));
|
||||
if (filter(win) != eks[j])
|
||||
goto continue2;
|
||||
}
|
||||
|
||||
*tail = *tail << 1 | evenparity32(LF_POLY_EVEN & *tail);
|
||||
sl->odd = *tail ^ evenparity32(LF_POLY_ODD & win);
|
||||
*tail = *tail << 1 | (evenparity32(LF_POLY_EVEN & *tail));
|
||||
sl->odd = *tail ^ (evenparity32(LF_POLY_ODD & win));
|
||||
sl->even = win;
|
||||
++sl;
|
||||
sl->odd = sl->even = 0;
|
||||
|
@ -303,7 +303,7 @@ uint8_t lfsr_rollback_bit(struct Crypto1State *s, uint32_t in, int fb) {
|
|||
out ^= !!in;
|
||||
out ^= (ret = filter(s->odd)) & !!fb;
|
||||
|
||||
s->even |= evenparity32(out) << 23;
|
||||
s->even |= (evenparity32(out)) << 23;
|
||||
return ret;
|
||||
}
|
||||
/** lfsr_rollback_byte
|
||||
|
|
|
@ -72,7 +72,7 @@ uint8_t crypto1_bit(struct Crypto1State *s, uint8_t in, int is_encrypted) {
|
|||
feedin ^= !!in;
|
||||
feedin ^= LF_POLY_ODD & s->odd;
|
||||
feedin ^= LF_POLY_EVEN & s->even;
|
||||
s->even = s->even << 1 | evenparity32(feedin);
|
||||
s->even = s->even << 1 | (evenparity32(feedin));
|
||||
|
||||
t = s->odd;
|
||||
s->odd = s->even;
|
||||
|
|
Loading…
Add table
Reference in a new issue