]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/iclass.c
Merge branch 'master' of https://github.com/Proxmark/proxmark3
[proxmark3-svn] / armsrc / iclass.c
index e5bd4f42852ef1682962a48aedccb6be08cd7417..51a9011f100c058fe8d5c7cdb741ea3d255010af 100644 (file)
@@ -633,8 +633,6 @@ static RAMFUNC int ManchesterDecoding(int v)
 //-----------------------------------------------------------------------------
 void RAMFUNC SnoopIClass(void)
 {
-
-
     // We won't start recording the frames that we acquire until we trigger;
     // a good trigger condition to get started is probably when we see a
     // response from the tag.
@@ -1676,7 +1674,8 @@ uint8_t handshakeIclassTag(uint8_t *card_data)
 // Reader iClass Anticollission
 void ReaderIClass(uint8_t arg0) {
 
-       uint8_t card_data[6 * 8]={0xFF};
+       uint8_t card_data[6 * 8]={0};
+       memset(card_data, 0xFF, sizeof(card_data));
     uint8_t last_csn[8]={0};
        
        //Read conf block CRC(0x01) => 0xfa 0x22
@@ -1688,13 +1687,15 @@ void ReaderIClass(uint8_t arg0) {
     int read_status= 0;
        uint8_t result_status = 0;
     bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE;
-
+       bool try_once = arg0 & FLAG_ICLASS_READER_ONE_TRY;
        set_tracing(TRUE);
     setupIclassReader();
 
+       uint16_t tryCnt=0;
     while(!BUTTON_PRESS())
     {
-
+               if (try_once && tryCnt > 5) break; 
+               tryCnt++;
                if(!tracing) {
                        DbpString("Trace full");
                        break;
Impressum, Datenschutz