fix: 'hf iclass eload' - enable NG (Thanks @doegox)

chg: 'hf iclass chk' - now uses fast push mode
This commit is contained in:
iceman1001 2019-04-30 14:19:26 +02:00
parent c1445d2a31
commit 2dea3684ae

View file

@ -588,7 +588,7 @@ static int CmdHFiClassELoad(const char *Cmd) {
} }
// fast push mode // fast push mode
conn.block_after_ACK = false; conn.block_after_ACK = true;
//Send to device //Send to device
uint32_t bytes_sent = 0; uint32_t bytes_sent = 0;
@ -1947,6 +1947,9 @@ static int CmdHFiClassCheckKeys(const char *Cmd) {
uint32_t chunksize = keycnt > (USB_CMD_DATA_SIZE / 4) ? (USB_CMD_DATA_SIZE / 4) : keycnt; uint32_t chunksize = keycnt > (USB_CMD_DATA_SIZE / 4) ? (USB_CMD_DATA_SIZE / 4) : keycnt;
bool lastChunk = false; bool lastChunk = false;
// fast push mode
conn.block_after_ACK = true;
// main keychunk loop // main keychunk loop
for (uint32_t i = 0; i < keycnt; i += chunksize) { for (uint32_t i = 0; i < keycnt; i += chunksize) {
@ -2032,6 +2035,11 @@ out:
PrintAndLogEx(SUCCESS, "\nTime in iclass checkkeys: %.0f seconds\n", (float)t1 / 1000.0); PrintAndLogEx(SUCCESS, "\nTime in iclass checkkeys: %.0f seconds\n", (float)t1 / 1000.0);
// Disable fast mode and send a dummy command to make it effective
conn.block_after_ACK = false;
SendCommandMIX(CMD_PING, 0, 0, 0, NULL, 0);
WaitForResponseTimeout(CMD_ACK, NULL, 1000);
DropField(); DropField();
free(pre); free(pre);
free(keyBlock); free(keyBlock);