bugfixes hf epa cnonces
- extended length (more than 1 byte) not handled correctly - nonces not printed on Windows due to type mismatch
This commit is contained in:
@@ -108,9 +108,9 @@ size_t EPA_Parse_CardAccess(uint8_t *data,
|
||||
if (data[index] == 0x31 || data[index] == 0x30) {
|
||||
// enter the set (skip tag + length)
|
||||
index += 2;
|
||||
// extended length
|
||||
// check for extended length
|
||||
if ((data[index - 1] & 0x80) != 0) {
|
||||
index += (data[index] & 0x7F);
|
||||
index += (data[index-1] & 0x7F);
|
||||
}
|
||||
}
|
||||
// OID
|
||||
|
||||
@@ -54,10 +54,10 @@ int CmdHFEPACollectPACENonces(const char *Cmd)
|
||||
size_t nonce_length = resp.arg[1];
|
||||
char *nonce = (char *) malloc(2 * nonce_length + 1);
|
||||
for(int j = 0; j < nonce_length; j++) {
|
||||
snprintf(nonce + (2 * j), 3, "%02X", resp.d.asBytes[j]);
|
||||
sprintf(nonce + (2 * j), "%02X", resp.d.asBytes[j]);
|
||||
}
|
||||
// print nonce
|
||||
PrintAndLog("Length: %d, Nonce: %s",resp.arg[1], nonce);
|
||||
PrintAndLog("Length: %d, Nonce: %s", nonce_length, nonce);
|
||||
}
|
||||
if (i < n - 1) {
|
||||
sleep(d);
|
||||
|
||||
Reference in New Issue
Block a user