From 1c37a0e01cedb99fa107d6600f6ed538a913f7fe Mon Sep 17 00:00:00 2001 From: noproto Date: Mon, 18 Aug 2025 01:42:20 -0400 Subject: [PATCH] Don't skip the system dictionary --- .../nfc/scenes/nfc_scene_mf_ultralight_c_dict_attack.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/applications/main/nfc/scenes/nfc_scene_mf_ultralight_c_dict_attack.c b/applications/main/nfc/scenes/nfc_scene_mf_ultralight_c_dict_attack.c index 7e850af98..f0b2e5de6 100644 --- a/applications/main/nfc/scenes/nfc_scene_mf_ultralight_c_dict_attack.c +++ b/applications/main/nfc/scenes/nfc_scene_mf_ultralight_c_dict_attack.c @@ -39,7 +39,12 @@ NfcCommand nfc_mf_ultralight_c_dict_attack_worker_callback(NfcGenericEvent event } else if(poller_event->type == MfUltralightPollerEventTypeReadSuccess) { nfc_device_set_data( instance->nfc_device, NfcProtocolMfUltralight, nfc_poller_get_data(instance->poller)); - instance->mf_ultralight_c_dict_context.auth_success = true; + // Check if this is a successful authentication by looking at the poller's auth context + const MfUltralightData* data = nfc_poller_get_data(instance->poller); + if(data->pages_read == data->pages_total) { + // Full read indicates successful authentication in dict attack mode + instance->mf_ultralight_c_dict_context.auth_success = true; + } view_dispatcher_send_custom_event( instance->view_dispatcher, NfcCustomEventDictAttackComplete); command = NfcCommandStop;