Files
35732dd898 NFC MfU: add "Mifare Ultralight C" to the Add Manually generators (#1072)
Lets a factory-default MF0ICU2 (Ultralight C, 3DES) be created from scratch via
the NFC app's Add Manually flow, grouped with the other Ultralight types: 48
pages, AUTH0 open, Internal byte 0x48, and the NXP default 3DES key
"BREAKMEIFYOUCAN!" at pages 0x2C-0x2F (used as-is by the listener, matching the
shipped UL-C dictionary so a protected card stays unlockable). UL-C has no
GetVersion or originality signature, so both stay zeroed. Enum-only wiring (no
API change). Reviewed clean (code-reviewer + simplifier).

Closes #1071

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-14 15:09:19 +03:00

62 lines
1.8 KiB
C

#pragma once
#include <nfc/nfc_device.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
NfcDataGeneratorTypeMfUltralight,
NfcDataGeneratorTypeMfUltralightEV1_11,
NfcDataGeneratorTypeMfUltralightEV1_H11,
NfcDataGeneratorTypeMfUltralightEV1_21,
NfcDataGeneratorTypeMfUltralightEV1_H21,
NfcDataGeneratorTypeMfUltralightC,
NfcDataGeneratorTypeMfUltralightAES,
NfcDataGeneratorTypeNTAG203,
NfcDataGeneratorTypeNTAG213,
NfcDataGeneratorTypeNTAG215,
NfcDataGeneratorTypeNTAG216,
NfcDataGeneratorTypeNTAGI2C1k,
NfcDataGeneratorTypeNTAGI2C2k,
NfcDataGeneratorTypeNTAGI2CPlus1k,
NfcDataGeneratorTypeNTAGI2CPlus2k,
NfcDataGeneratorTypeMfClassicMini,
NfcDataGeneratorTypeMfClassic1k_4b,
NfcDataGeneratorTypeMfClassic1k_7b,
NfcDataGeneratorTypeMfClassic4k_4b,
NfcDataGeneratorTypeMfClassic4k_7b,
NfcDataGeneratorTypeMfPlusSE_4b,
NfcDataGeneratorTypeMfPlusSE_7b,
NfcDataGeneratorTypeMfPlusS2k_4b,
NfcDataGeneratorTypeMfPlusS2k_7b,
NfcDataGeneratorTypeMfPlusS4k_4b,
NfcDataGeneratorTypeMfPlusS4k_7b,
NfcDataGeneratorTypeMfPlusX2k_4b,
NfcDataGeneratorTypeMfPlusX2k_7b,
NfcDataGeneratorTypeMfPlusX4k_4b,
NfcDataGeneratorTypeMfPlusX4k_7b,
NfcDataGeneratorTypeMfPlusEV1_2k_4b,
NfcDataGeneratorTypeMfPlusEV1_2k_7b,
NfcDataGeneratorTypeMfPlusEV1_4k_4b,
NfcDataGeneratorTypeMfPlusEV1_4k_7b,
NfcDataGeneratorTypeMfPlusEV2_2k_4b,
NfcDataGeneratorTypeMfPlusEV2_2k_7b,
NfcDataGeneratorTypeMfPlusEV2_4k_4b,
NfcDataGeneratorTypeMfPlusEV2_4k_7b,
NfcDataGeneratorTypeNum,
} NfcDataGeneratorType;
const char* nfc_data_generator_get_name(NfcDataGeneratorType type);
void nfc_data_generator_fill_data(NfcDataGeneratorType type, NfcDevice* nfc_device);
#ifdef __cplusplus
}
#endif