Upgrade crapto1 library to v3.3 (#232)

- fix standalone tools mfkey32, mfkey64 and nonce2key to use common crapto1 library
- fix compiler warnings in tools/mfkey/mfkey64.c and tools/nonce2key/nonce2key.c
- allow crapto1.c to compile on ARM hosts
- add @iceman1001's readme.txt to tools/mfkey
This commit is contained in:
pwpiwi 2017-03-12 15:05:54 +01:00 committed by GitHub
commit 0ca9bc0e99
10 changed files with 150 additions and 195 deletions

View file

@ -9,7 +9,7 @@ include ../common/Makefile.common
CC=gcc
CXX=g++
#COMMON_FLAGS = -m32
VPATH = ../common ../zlib ../tools
VPATH = ../common ../zlib
OBJDIR = obj
LDLIBS = -L/opt/local/lib -L/usr/local/lib -lreadline -lpthread -lm

View file

@ -72,8 +72,8 @@ int nonce2key(uint32_t uid, uint32_t nt, uint32_t nr, uint64_t par_info, uint64_
printf("%01x|\n", par[i][7]);
}
if (par_info==0)
PrintAndLog("parity is all zero,try special attack!just wait for few more seconds...");
if (par_info == 0)
PrintAndLog("Parity is all zero, trying special attack! Just wait for few more seconds...");
state = lfsr_common_prefix(nr, rr, ks3x, par);
state_s = (int64_t*)state;
@ -82,7 +82,7 @@ int nonce2key(uint32_t uid, uint32_t nt, uint32_t nr, uint64_t par_info, uint64_
//sprintf(filename, "nt_%08x_%d.txt", nt, nr);
//printf("name %s\n", filename);
//FILE* fp = fopen(filename,"w");
for (i = 0; (state) && ((state + i)->odd != -1); i++)
for (i = 0; (state) && *(state_s + i); i++)
{
lfsr_rollback_word(state+i, uid^nt, 0);
crypto1_get_lfsr(state + i, &key_recovered);
@ -98,9 +98,8 @@ int nonce2key(uint32_t uid, uint32_t nt, uint32_t nr, uint64_t par_info, uint64_
*(state_s + i) = -1;
//Create the intersection:
if (par_info == 0 )
if ( last_keylist != NULL)
{
if (par_info == 0 ) {
if (last_keylist != NULL) {
int64_t *p1, *p2, *p3;
p1 = p3 = last_keylist;
p2 = state_s;
@ -115,12 +114,11 @@ int nonce2key(uint32_t uid, uint32_t nt, uint32_t nr, uint64_t par_info, uint64_
while (compar_state(p1, p2) == 1) ++p2;
}
}
key_count = p3 - last_keylist;;
}
else
key_count = p3 - last_keylist;
} else {
key_count = 0;
else
{
}
} else {
last_keylist = state_s;
key_count = i;
}
@ -138,7 +136,7 @@ int nonce2key(uint32_t uid, uint32_t nt, uint32_t nr, uint64_t par_info, uint64_
*key = key64;
free(last_keylist);
last_keylist = NULL;
if (par_info ==0)
if (par_info == 0)
free(state);
return 0;
}