mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-02-24 15:44:47 +08:00
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:
parent
f10bf20c6c
commit
57642f63fa
2 changed files with 4 additions and 4 deletions
|
@ -108,9 +108,9 @@ size_t EPA_Parse_CardAccess(uint8_t *data,
|
||||||
if (data[index] == 0x31 || data[index] == 0x30) {
|
if (data[index] == 0x31 || data[index] == 0x30) {
|
||||||
// enter the set (skip tag + length)
|
// enter the set (skip tag + length)
|
||||||
index += 2;
|
index += 2;
|
||||||
// extended length
|
// check for extended length
|
||||||
if ((data[index - 1] & 0x80) != 0) {
|
if ((data[index - 1] & 0x80) != 0) {
|
||||||
index += (data[index] & 0x7F);
|
index += (data[index-1] & 0x7F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// OID
|
// OID
|
||||||
|
|
|
@ -54,10 +54,10 @@ int CmdHFEPACollectPACENonces(const char *Cmd)
|
||||||
size_t nonce_length = resp.arg[1];
|
size_t nonce_length = resp.arg[1];
|
||||||
char *nonce = (char *) malloc(2 * nonce_length + 1);
|
char *nonce = (char *) malloc(2 * nonce_length + 1);
|
||||||
for(int j = 0; j < nonce_length; j++) {
|
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
|
// print nonce
|
||||||
PrintAndLog("Length: %d, Nonce: %s",resp.arg[1], nonce);
|
PrintAndLog("Length: %d, Nonce: %s", nonce_length, nonce);
|
||||||
}
|
}
|
||||||
if (i < n - 1) {
|
if (i < n - 1) {
|
||||||
sleep(d);
|
sleep(d);
|
||||||
|
|
Loading…
Reference in a new issue