From ef3f88bca9fbf8f228781f7e7b41fb6435130d84 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Thu, 28 Jul 2016 12:52:18 -0400 Subject: [PATCH] disable extra attack - disable stats.txt Moebius attack didn't yield any better results in my testing so disabling it, but allowing it to be re-enabled at will. also disabled the auto logging of all keys with uid delimited file stats.txt - can be uncommented when needed --- client/cmdhfmf.c | 5 +++-- client/nonce2key/nonce2key.c | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 43eca8cb..36c8e6c3 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -1079,14 +1079,15 @@ void readerAttack(nonces_t ar_resp[], bool setEmulatorMem) { } } } - //moebius attack + /* + //un-comment to use as well moebius attack for (uint8_t i = ATTACK_KEY_COUNT; i 0) { if (tryMfk32_moebius(ar_resp[i], &key)) { PrintAndLog("M-Found Key%s for sector %02d: [%04x%08x]", (ar_resp[i].keytype) ? "B" : "A", ar_resp[i].sector, (uint32_t) (key>>32), (uint32_t) (key &0xFFFFFFFF)); } } - } + }*/ } int usage_hf14_mf1ksim(void) { diff --git a/client/nonce2key/nonce2key.c b/client/nonce2key/nonce2key.c index 942ef78b..5647c424 100644 --- a/client/nonce2key/nonce2key.c +++ b/client/nonce2key/nonce2key.c @@ -181,12 +181,12 @@ bool mfkey32(nonces_t data, uint64_t *outputkey) { if (counter==20) break; } } - //free(s); isSuccess = (counter == 1); t1 = clock() - t1; //if ( t1 > 0 ) PrintAndLog("Time in mfkey32: %.0f ticks \nFound %d possible keys", (float)t1, counter); *outputkey = ( isSuccess ) ? outkey : 0; crypto1_destroy(s); + /* //un-comment to save all keys to a stats.txt file FILE *fout; if ((fout = fopen("stats.txt","ab")) == NULL) { PrintAndLog("Could not create file name stats.txt"); @@ -194,6 +194,7 @@ bool mfkey32(nonces_t data, uint64_t *outputkey) { } fprintf(fout, "mfkey32,%d,%08x,%d,%s,%04x%08x,%.0Lf\r\n", counter, data.cuid, data.sector, (data.keytype) ? "B" : "A", (uint32_t)(outkey>>32) & 0xFFFF,(uint32_t)(outkey&0xFFFFFFFF),(long double)t1); fclose(fout); + */ return isSuccess; } @@ -205,7 +206,6 @@ bool tryMfk32_moebius(nonces_t data, uint64_t *outputkey) { uint32_t nt0 = data.nonce; // first tag challenge (nonce) uint32_t nr0_enc = data.nr; // first encrypted reader challenge uint32_t ar0_enc = data.ar; // first encrypted reader response - //uint32_t uid1 = le32toh(data+16); uint32_t nt1 = data.nonce2; // second tag challenge (nonce) uint32_t nr1_enc = data.nr2; // second encrypted reader challenge uint32_t ar1_enc = data.ar2; // second encrypted reader response @@ -238,6 +238,7 @@ bool tryMfk32_moebius(nonces_t data, uint64_t *outputkey) { //if ( t1 > 0 ) PrintAndLog("Time in mfkey32_moebius: %.0f ticks \nFound %d possible keys", (float)t1,counter); *outputkey = ( isSuccess ) ? outkey : 0; crypto1_destroy(s); + /* // un-comment to output all keys to stats.txt FILE *fout; if ((fout = fopen("stats.txt","ab")) == NULL) { PrintAndLog("Could not create file name stats.txt"); @@ -245,6 +246,7 @@ bool tryMfk32_moebius(nonces_t data, uint64_t *outputkey) { } fprintf(fout, "moebius,%d,%08x,%d,%s,%04x%08x,%0.Lf\r\n", counter, data.cuid, data.sector, (data.keytype) ? "B" : "A", (uint32_t) (outkey>>32),(uint32_t)(outkey&0xFFFFFFFF),(long double)t1); fclose(fout); + */ return isSuccess; } -- 2.39.2