mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-20 05:13:22 -07:00
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:
parent
62fab50902
commit
0ca9bc0e99
10 changed files with 150 additions and 195 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue