X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/cda2a4c0a5e9b9e2a373aeb822111237ff9ec710..2ae8a312e058f71d0f02be4f2f9cc6f284ebbf34:/client/cmdhf14b.c?ds=inline diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index 83d6633c..25a452e6 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -13,8 +13,7 @@ #include #include #include -#include "iso14443crc.h" -//#include "proxusb.h" +#include "../common/iso14443crc.h" #include "proxmark3.h" #include "data.h" #include "graph.h" @@ -147,6 +146,7 @@ int CmdHF14BList(const char *Cmd) { uint8_t got[960]; GetFromBigBuf(got,sizeof(got),0); + WaitForResponse(CMD_ACK,NULL); PrintAndLog("recorded activity:"); PrintAndLog(" time :rssi: who bytes"); @@ -181,6 +181,9 @@ int CmdHF14BList(const char *Cmd) uint8_t *frame = (got+i+9); + // Break and stick with current result if buffer was not completely full + if (frame[0] == 0x44 && frame[1] == 0x44 && frame[2] == 0x44 && frame[3] == 0x44) break; + char line[1000] = ""; int j; for(j = 0; j < len; j++) { @@ -333,6 +336,11 @@ int CmdHF14BCmdRaw (const char *cmd) { PrintAndLog("Invalid char on input"); return 0; } + if (datalen == 0) + { + PrintAndLog("Missing data input"); + return 0; + } if(crc) { uint8_t first, second; @@ -358,7 +366,7 @@ int CmdHF14BCmdRaw (const char *cmd) { if (hexout != NULL) { uint8_t first, second; for (int i = 0; i < resp.arg[0]; i++) { // data in hex - sprintf(&hexout[i * 3], "%02hX ", recv[i]); + sprintf(&hexout[i * 3], "%02X ", recv[i]); } PrintAndLog("%s", hexout); free(hexout);