mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2024-11-10 17:49:32 +08:00
Fixed bug with iclass dump which prevented saving to file
This commit is contained in:
parent
0cd2a41ac0
commit
428d622160
2 changed files with 6 additions and 7 deletions
|
@ -1704,7 +1704,7 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
|
|||
//Set card_data to all zeroes, we'll fill it with data
|
||||
memset(card_data,0x0,USB_CMD_DATA_SIZE);
|
||||
uint8_t failedRead =0;
|
||||
uint8_t stored_data_length =0;
|
||||
uint32_t stored_data_length =0;
|
||||
//then loop around remaining blocks
|
||||
for(int block=0; block < cardsize; block++){
|
||||
|
||||
|
@ -1723,7 +1723,6 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
|
|||
//Fill up the buffer
|
||||
memcpy(card_data+stored_data_length,resp,8);
|
||||
stored_data_length += 8;
|
||||
|
||||
if(stored_data_length +8 > USB_CMD_DATA_SIZE)
|
||||
{//Time to send this off and start afresh
|
||||
cmd_send(CMD_ACK,
|
||||
|
@ -1742,6 +1741,7 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
|
|||
Dbprintf("Failed to dump block %d", block);
|
||||
}
|
||||
}
|
||||
|
||||
//Send off any remaining data
|
||||
if(stored_data_length > 0)
|
||||
{
|
||||
|
|
|
@ -329,8 +329,8 @@ int CmdHFiClassReader_Dump(const char *Cmd)
|
|||
printvar("MAC", MAC, 4);
|
||||
|
||||
uint8_t iclass_data[32000] = {0};
|
||||
uint8_t iclass_datalen = 0;
|
||||
uint8_t iclass_blocksFailed = 0;//Set to 1 if dump was incomplete
|
||||
uint32_t iclass_datalen = 0;
|
||||
uint32_t iclass_blocksFailed = 0;//Set to 1 if dump was incomplete
|
||||
|
||||
UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}};
|
||||
memcpy(d.d.asBytes, MAC, 4);
|
||||
|
@ -346,11 +346,11 @@ int CmdHFiClassReader_Dump(const char *Cmd)
|
|||
}
|
||||
if(WaitForResponseTimeout(CMD_ACK,&resp,4500))
|
||||
{
|
||||
uint64_t dataLength = resp.arg[0];
|
||||
uint32_t dataLength = resp.arg[0];
|
||||
iclass_blocksFailed |= resp.arg[1];
|
||||
|
||||
if(dataLength > 0)
|
||||
{
|
||||
PrintAndLog("Got %d bytes data (total so far %d)" ,dataLength,iclass_datalen);
|
||||
memcpy(iclass_data, resp.d.asBytes,dataLength);
|
||||
iclass_datalen += dataLength;
|
||||
}else
|
||||
|
@ -368,7 +368,6 @@ int CmdHFiClassReader_Dump(const char *Cmd)
|
|||
CSN[0],CSN[1],CSN[2],CSN[3],
|
||||
CSN[4],CSN[5],CSN[6],CSN[7]);
|
||||
saveFile(filename,"bin",iclass_data, iclass_datalen );
|
||||
|
||||
}
|
||||
//Aaaand we're finished
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue