From 55eb0a8d82f695527cb92ab6867ea9df9576dcdb Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Wed, 18 Mar 2026 16:20:44 +0800 Subject: [PATCH 1/3] Update cmdhficlass.c Fixed missing hf iclass blacktears read after @iceman1001 's update of the function from IF to SWITCH in: https://github.com/Antiklesys/proxmark3/commit/3eac1861f6baa0127855edb2323781f7f4bda8ab --- client/src/cmdhficlass.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index b1cbe79a7..099e0107b 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4200,6 +4200,8 @@ out: data[7] = TEAR_UNLOCKED; iclass_write_block(blockno, data, mac, key, use_credit_key, elite, rawkey, use_replay, false, auth, shallow_mod); + + iclass_read_interesting_data(key, keyType, elite, rawkey, use_replay, verbose, shallow_mod); } else { PrintAndLogEx(FAILED, " ( %s )", _RED_("fail")); } @@ -4213,6 +4215,8 @@ out: data[7] = TEAR_UNLOCKED; iclass_write_block(blockno, data, mac, key, use_credit_key, elite, rawkey, use_replay, false, auth, shallow_mod); + + iclass_read_interesting_data(key, keyType, elite, rawkey, use_replay, verbose, shallow_mod); break; } From 3f95d3cc05cec02052a385e1caad486a9767fdf8 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Wed, 18 Mar 2026 16:32:31 +0800 Subject: [PATCH 2/3] Update cmdhficlass.c Added additional personalization case --- client/src/cmdhficlass.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 099e0107b..98840d1c6 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -3891,6 +3891,7 @@ static int CmdHFiClass_BlackTears(const char *Cmd) { #define TEAR_INITAL 0x3C #define TEAR_PERSO_ENABLED 0xBC #define TEAR_PERSO_STABLE 0xBE + #define TEAR_PERSO_STABLE2 0x9C #define TEAR_UNLOCKED 0xAC @@ -4208,7 +4209,8 @@ out: break; } - case TEAR_PERSO_STABLE: { // unlock tag with write operation to 0xAC + case TEAR_PERSO_STABLE: + case TEAR_PERSO_STABLE2: { // unlock tag with write operation to 0xAC PrintAndLogEx(SUCCESS, "Detected fuse: "_GREEN_("0x%02X") " set non-secure memory: "_YELLOW_("0xAC"), data_read[7]); memcpy(data, data_read, PICOPASS_BLOCK_SIZE); From fd09895f0e68a552da9609ff0d2d7b9a5946dc34 Mon Sep 17 00:00:00 2001 From: Antiklesys Date: Wed, 18 Mar 2026 16:34:38 +0800 Subject: [PATCH 3/3] Update cmdhficlass.c Updated error description --- client/src/cmdhficlass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index 98840d1c6..bf77c347b 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -4236,7 +4236,7 @@ out: break; } default: { - PrintAndLogEx(INFO, _YELLOW_("Did not detect " _YELLOW_("0xBC") " or " _YELLOW_("0xBE") " fuse, might need manual intervention!")); + PrintAndLogEx(INFO, _YELLOW_("Did not detect " _YELLOW_("0xBC") " or " _YELLOW_("0xBE") " or " _YELLOW_("0x9C") " fuse, might need manual intervention!")); break; } }