projects
/
proxmark3-svn
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
CHG: Changed cardnumber printing from %d (signed) to %u (unsigned) for AWID50,...
[proxmark3-svn]
/
client
/
loclass
/
elite_crack.c
diff --git
a/client/loclass/elite_crack.c
b/client/loclass/elite_crack.c
index a8ab869e8c53c0569108ec42b2c74ecc45b72229..a282ec5022f07b3b16ddc0173451d55cce7cf9c5 100644
(file)
--- a/
client/loclass/elite_crack.c
+++ b/
client/loclass/elite_crack.c
@@
-394,7
+394,7
@@
int bruteforceItem(dumpdata item, uint16_t keytable[])
//Diversify
diversifyKey(item.csn, key_sel_p, div_key);
//Calc mac
//Diversify
diversifyKey(item.csn, key_sel_p, div_key);
//Calc mac
-
doMAC(item.cc_nr,12
, div_key,calculated_MAC);
+
doMAC(item.cc_nr
, div_key,calculated_MAC);
if(memcmp(calculated_MAC, item.mac, 4) == 0)
{
if(memcmp(calculated_MAC, item.mac, 4) == 0)
{
@@
-522,8
+522,8
@@
int bruteforceDump(uint8_t dump[], size_t dumpsize, uint16_t keytable[])
errors += bruteforceItem(*attack, keytable);
}
free(attack);
errors += bruteforceItem(*attack, keytable);
}
free(attack);
-
clock_t t2 = clock()
;
- float diff = ((
(float)t2 - (float)t1)
/ CLOCKS_PER_SEC );
+
t1 = clock() - t1
;
+ float diff = ((
float)t1
/ CLOCKS_PER_SEC );
prnlog("\nPerformed full crack in %f seconds",diff);
// Pick out the first 16 bytes of the keytable.
prnlog("\nPerformed full crack in %f seconds",diff);
// Pick out the first 16 bytes of the keytable.
@@
-563,6
+563,12
@@
int bruteforceFile(const char *filename, uint16_t keytable[])
long fsize = ftell(f);
fseek(f, 0, SEEK_SET);
long fsize = ftell(f);
fseek(f, 0, SEEK_SET);
+ if (fsize < 0) {
+ prnlog("Error, when getting filesize");
+ fclose(f);
+ return 1;
+ }
+
uint8_t *dump = malloc(fsize);
size_t bytes_read = fread(dump, 1, fsize, f);
uint8_t *dump = malloc(fsize);
size_t bytes_read = fread(dump, 1, fsize, f);
@@
-571,7
+577,10
@@
int bruteforceFile(const char *filename, uint16_t keytable[])
{
prnlog("Error, could only read %d bytes (should be %d)",bytes_read, fsize );
}
{
prnlog("Error, could only read %d bytes (should be %d)",bytes_read, fsize );
}
- return bruteforceDump(dump,fsize,keytable);
+
+ uint8_t res = bruteforceDump(dump,fsize,keytable);
+ free(dump);
+ return res;
}
/**
*
}
/**
*
Impressum
,
Datenschutz