From 49e80b5b02e1ddb1b609d37b9b50491cb51fd50e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 10 Nov 2025 16:32:53 +0100 Subject: [PATCH] step 1 in fiddling with mfu restore --- client/src/cmdhfmfu.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/client/src/cmdhfmfu.c b/client/src/cmdhfmfu.c index 32f47f6ea..ecf292f9e 100644 --- a/client/src/cmdhfmfu.c +++ b/client/src/cmdhfmfu.c @@ -3944,9 +3944,20 @@ static int CmdHF14AMfURestore(const char *Cmd) { } PrintAndLogEx(INFO, "special PWD block written 0x%X - %s", MFU_NTAG_SPECIAL_PWD, sprint_hex(data, 4)); - clearCommandBuffer(); - SendCommandMIX(CMD_HF_MIFAREU_WRITEBL, MFU_NTAG_SPECIAL_PWD, keytype, 0, data, sizeof(data)); + mful_writeblock_t packet = { + .block_no = MFU_NTAG_SPECIAL_PWD, + .keytype = keytype, + .keylen = 4, + .use_schann = use_schann, + }; + memcpy(packet.key, auth_key_ptr, 4); // password to authenticate + + memcpy(packet.data, data, 4); // new password + + clearCommandBuffer(); + SendCommandNG(CMD_HF_MIFAREU_WRITEBL, (uint8_t *)&packet, sizeof(packet)); + // SendCommandMIX(CMD_HF_MIFAREU_WRITEBL, MFU_NTAG_SPECIAL_PWD, keytype, 0, data, sizeof(data)); wait4response(CMD_HF_MIFAREU_WRITEBL, MFU_NTAG_SPECIAL_PWD); // copy the new key