]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
CHG: removed some debug statements, added another. Change the crapto1.c, lets...
authoriceman1001 <iceman@iuse.se>
Wed, 10 Aug 2016 14:25:56 +0000 (16:25 +0200)
committericeman1001 <iceman@iuse.se>
Wed, 10 Aug 2016 14:25:56 +0000 (16:25 +0200)
client/nonce2key/crapto1.c
client/nonce2key/nonce2key.c

index b5532396e603b52a7ae2cf55eb30bcf9fae6082b..9f349e174082b6d45f1efda057dc6261ff943fad 100644 (file)
@@ -1,4 +1,4 @@
-/*  crapto1.c\r
+1/*  crapto1.c\r
 \r
     This program is free software; you can redistribute it and/or\r
     modify it under the terms of the GNU General Public License\r
 \r
     This program is free software; you can redistribute it and/or\r
     modify it under the terms of the GNU General Public License\r
@@ -383,7 +383,7 @@ uint32_t lfsr_rollback_word(struct Crypto1State *s, uint32_t in, int fb)
 /** nonce_distance\r
  * x,y valid tag nonces, then prng_successor(x, nonce_distance(x, y)) = y\r
  */\r
 /** nonce_distance\r
  * x,y valid tag nonces, then prng_successor(x, nonce_distance(x, y)) = y\r
  */\r
-static uint16_t *dist;\r
+static uint16_t *dist = 0;\r
 int nonce_distance(uint32_t from, uint32_t to)\r
 {\r
        uint16_t x, i;\r
 int nonce_distance(uint32_t from, uint32_t to)\r
 {\r
        uint16_t x, i;\r
@@ -391,7 +391,7 @@ int nonce_distance(uint32_t from, uint32_t to)
                dist = malloc(2 << 16);\r
                if(!dist)\r
                        return -1;\r
                dist = malloc(2 << 16);\r
                if(!dist)\r
                        return -1;\r
-               for (x = 1, i = 1; i; ++i) {\r
+               for (x = i = 1; i; ++i) {\r
                        dist[(x & 0xff) << 8 | x >> 8] = i;\r
                        x = x >> 1 | (x ^ x >> 2 ^ x >> 3 ^ x >> 5) << 15;\r
                }\r
                        dist[(x & 0xff) << 8 | x >> 8] = i;\r
                        x = x >> 1 | (x ^ x >> 2 ^ x >> 3 ^ x >> 5) << 15;\r
                }\r
@@ -468,21 +468,18 @@ static struct Crypto1State* check_pfx_parity(uint32_t prefix, uint32_t rresp, ui
        return sl + good;\r
 }\r
 static struct Crypto1State* check_pfx_parity_ex(uint32_t prefix, uint32_t odd, uint32_t even, struct Crypto1State* sl) {\r
        return sl + good;\r
 }\r
 static struct Crypto1State* check_pfx_parity_ex(uint32_t prefix, uint32_t odd, uint32_t even, struct Crypto1State* sl) {\r
-       struct Crypto1State s;\r
+       \r
        uint32_t c = 0;\r
 \r
        uint32_t c = 0;\r
 \r
-       s.odd = odd ^ fastfwd[1][c];\r
-       s.even = even ^ fastfwd[0][c];\r
-       \r
-       lfsr_rollback_bit(&s, 0, 0);\r
-       lfsr_rollback_bit(&s, 0, 0);\r
-       lfsr_rollback_bit(&s, 0, 0);\r
+       sl.odd = odd ^ fastfwd[1][c];\r
+       sl.even = even ^ fastfwd[0][c];\r
        \r
        \r
-       lfsr_rollback_word(&s, 0, 0);\r
-       lfsr_rollback_word(&s, prefix | c << 5, 1);\r
+       lfsr_rollback_bit(&sl, 0, 0);\r
+       lfsr_rollback_bit(&sl, 0, 0);\r
+       lfsr_rollback_bit(&sl, 0, 0);\r
+       lfsr_rollback_word(&sl, 0, 0);\r
+       lfsr_rollback_word(&sl, prefix | c << 5, 1);\r
        \r
        \r
-       sl->odd = s.odd;\r
-       sl->even = s.even;\r
        return ++sl;\r
 }\r
 \r
        return ++sl;\r
 }\r
 \r
index ac2db645cdf659a54f8f9377d2d792129778ce50..ab97f5979dcb32d70855669b3d65adee638545f1 100644 (file)
@@ -101,7 +101,6 @@ int nonce2key_ex(uint8_t blockno, uint8_t keytype, uint32_t uid, uint32_t nt, ui
                *(state_s + i) = key_recovered;
        }
        
                *(state_s + i) = key_recovered;
        }
        
-       PrintAndLog("zero");
        if(!state)
                return 1;
        
        if(!state)
                return 1;
        
@@ -115,7 +114,6 @@ int nonce2key_ex(uint8_t blockno, uint8_t keytype, uint32_t uid, uint32_t nt, ui
                p1 = p3 = last_keylist; 
                p2 = state_s;
                
                p1 = p3 = last_keylist; 
                p2 = state_s;
                
-               PrintAndLog("one");
                while ( *p1 != -1 && *p2 != -1 ) {
                        if (compar_int(p1, p2) == 0) {
                                printf("p1:%"llx" p2:%"llx" p3:%"llx" key:%012"llx"\n",(uint64_t)(p1-last_keylist),(uint64_t)(p2-state_s),(uint64_t)(p3-last_keylist),*p1);
                while ( *p1 != -1 && *p2 != -1 ) {
                        if (compar_int(p1, p2) == 0) {
                                printf("p1:%"llx" p2:%"llx" p3:%"llx" key:%012"llx"\n",(uint64_t)(p1-last_keylist),(uint64_t)(p2-state_s),(uint64_t)(p3-last_keylist),*p1);
@@ -127,9 +125,11 @@ int nonce2key_ex(uint8_t blockno, uint8_t keytype, uint32_t uid, uint32_t nt, ui
                                while (compar_int(p1, p2) == 1) ++p2;
                        }
                }
                                while (compar_int(p1, p2) == 1) ++p2;
                        }
                }
-               key_count = p3 - last_keylist;;
+               key_count = p3 - last_keylist;
+               PrintAndLog("one A");
        } else {
                key_count = 0;
        } else {
                key_count = 0;
+               PrintAndLog("one B");
        }
 
        printf("key_count:%d\n", key_count);
        }
 
        printf("key_count:%d\n", key_count);
@@ -137,7 +137,6 @@ int nonce2key_ex(uint8_t blockno, uint8_t keytype, uint32_t uid, uint32_t nt, ui
        // The list may still contain several key candidates. Test each of them with mfCheckKeys
        uint8_t keyBlock[6] = {0,0,0,0,0,0};
        uint64_t key64;
        // The list may still contain several key candidates. Test each of them with mfCheckKeys
        uint8_t keyBlock[6] = {0,0,0,0,0,0};
        uint64_t key64;
-       PrintAndLog("two");
        for (i = 0; i < key_count; i++) {
                key64 = *(last_keylist + i);
                num_to_bytes(key64, 6, keyBlock);
        for (i = 0; i < key_count; i++) {
                key64 = *(last_keylist + i);
                num_to_bytes(key64, 6, keyBlock);
@@ -151,7 +150,6 @@ int nonce2key_ex(uint8_t blockno, uint8_t keytype, uint32_t uid, uint32_t nt, ui
                }
        }       
        
                }
        }       
        
-       
        free(last_keylist);
        last_keylist = state_s;
        return 1;
        free(last_keylist);
        last_keylist = state_s;
        return 1;
Impressum, Datenschutz