Merge remote-tracking branch 'upstream/master' into hf_mf_sim

This commit is contained in:
vratiskol 2019-03-19 02:07:22 +01:00
commit 1e20316cee
8 changed files with 22 additions and 21 deletions

View file

@ -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;

View file

@ -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();

View file

@ -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;

View file

@ -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:

View file

@ -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);

View file

@ -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);
}

View file

@ -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

View file

@ -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;