From b19973368ddb12e2b3c627a365a1fd6a59d73705 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 18 Jan 2024 16:35:44 +0100 Subject: [PATCH] fix wrong fct call --- client/src/cmdlfidteck.c | 1 - common/generator.c | 11 +++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/client/src/cmdlfidteck.c b/client/src/cmdlfidteck.c index ba95d937f..edd5701ab 100644 --- a/client/src/cmdlfidteck.c +++ b/client/src/cmdlfidteck.c @@ -114,7 +114,6 @@ int demodIdteck(uint8_t *raw, bool verbose) { // parity check (TBD) uint32_t tmp = raw2; - lf_idteck_decrypt((uint16_t*)&tmp); // checksum check (TBD) // 351FBE4B -> 90370752 Card Code [523707] CUSUM = 52+37+07=90 diff --git a/common/generator.c b/common/generator.c index 25832710a..f7a53ed1e 100644 --- a/common/generator.c +++ b/common/generator.c @@ -327,7 +327,8 @@ int mfc_algo_saflok_one(uint8_t *uid, uint8_t sector, uint8_t keytype, uint64_t if (sector > 15) return PM3_EINVARG; if (key == NULL) return PM3_EINVARG; - if (keytype == 0 && sector == 2) { + // + if (keytype == 1) { *key = 0xFFFFFFFFFFFF; return PM3_SUCCESS; } @@ -337,6 +338,11 @@ int mfc_algo_saflok_one(uint8_t *uid, uint8_t sector, uint8_t keytype, uint64_t return PM3_SUCCESS; } + if (((sector == 2) || (sector == 3)) && (keytype == 0)) { + *key = 0xFFFFFFFFFFFF; + return PM3_SUCCESS; + } + if (keytype == 0) { uint64_t lut[16] = { 0xf057b39ee3d8ULL, 0x969d954ac157ULL, 0x8f43580d2c9dULL, 0xffcce0050c43ULL, @@ -354,9 +360,6 @@ int mfc_algo_saflok_one(uint8_t *uid, uint8_t sector, uint8_t keytype, uint64_t uint64_t id = (bytes_to_num(uid, 4) << 8); *key = (h + (id + m + ((uint64_t)h << 40ULL))) & 0xFFFFFFFFFFFFULL; - - } else { - *key = 0xFFFFFFFFFFFF; } return PM3_SUCCESS; }