4#include <lib/nfc/protocols/iso14443_3a/iso14443_3a_poller.h>
19 MfClassicPollerEventTypeRequestMode,
21 MfClassicPollerEventTypeRequestReadSector,
23 MfClassicPollerEventTypeRequestSectorTrailer,
24 MfClassicPollerEventTypeRequestWriteBlock,
26 MfClassicPollerEventTypeRequestKey,
27 MfClassicPollerEventTypeNextSector,
28 MfClassicPollerEventTypeDataUpdate,
29 MfClassicPollerEventTypeFoundKeyA,
30 MfClassicPollerEventTypeFoundKeyB,
31 MfClassicPollerEventTypeKeyAttackStart,
32 MfClassicPollerEventTypeKeyAttackStop,
33 MfClassicPollerEventTypeKeyAttackNextSector,
35 MfClassicPollerEventTypeCardDetected,
36 MfClassicPollerEventTypeCardLost,
37 MfClassicPollerEventTypeSuccess,
38 MfClassicPollerEventTypeFail,
39} MfClassicPollerEventType;
45 MfClassicPollerModeRead,
46 MfClassicPollerModeWrite,
47 MfClassicPollerModeDictAttackStandard,
48 MfClassicPollerModeDictAttackCUID,
49 MfClassicPollerModeDictAttackEnhanced,
56 MfClassicNestedPhaseNone,
57 MfClassicNestedPhaseAnalyzePRNG,
58 MfClassicNestedPhaseDictAttack,
59 MfClassicNestedPhaseDictAttackVerify,
60 MfClassicNestedPhaseDictAttackResume,
61 MfClassicNestedPhaseCalibrate,
62 MfClassicNestedPhaseRecalibrate,
63 MfClassicNestedPhaseCollectNtEnc,
64 MfClassicNestedPhaseFinished,
65} MfClassicNestedPhase;
71 MfClassicPrngTypeUnknown,
72 MfClassicPrngTypeNoTag,
73 MfClassicPrngTypeWeak,
74 MfClassicPrngTypeHard,
81 MfClassicBackdoorUnknown,
82 MfClassicBackdoorNone,
83 MfClassicBackdoorAuth1,
84 MfClassicBackdoorAuth2,
85 MfClassicBackdoorAuth3,
221MfClassicError mf_classic_poller_get_nt(
224 MfClassicKeyType key_type,
242MfClassicError mf_classic_poller_get_nt_nested(
245 MfClassicKeyType key_type,
265MfClassicError mf_classic_poller_auth(
269 MfClassicKeyType key_type,
289MfClassicError mf_classic_poller_auth_nested(
293 MfClassicKeyType key_type,
320MfClassicError mf_classic_poller_read_block(
335MfClassicError mf_classic_poller_write_block(
354MfClassicError mf_classic_poller_value_cmd(
357 MfClassicValueCommand cmd,
371MfClassicError mf_classic_poller_value_transfer(
MfClassicPoller* instance, uint8_t block_num);
387MfClassicError mf_classic_poller_send_standard_frame(
407MfClassicError mf_classic_poller_send_frame(
430MfClassicError mf_classic_poller_send_custom_parity_frame(
450MfClassicError mf_classic_poller_send_encrypted_frame(
Definition bit_buffer.c:7
Definition mf_classic.h:111
Definition mf_classic.h:78
Definition mf_classic.h:137
Definition mf_classic.h:87
Definition mf_classic.h:95
MfClassic poller next sector event data.
Definition mf_classic_poller.h:104
uint8_t current_sector
Current sector number.
Definition mf_classic_poller.h:105
MfClassic poller key request event data.
Definition mf_classic_poller.h:131
bool key_provided
Flag indicating if key is provided.
Definition mf_classic_poller.h:134
MfClassicKeyType key_type
Key type (A or B) for CUID dict attack mode.
Definition mf_classic_poller.h:133
MfClassicKey key
Key to be used by poller.
Definition mf_classic_poller.h:132
MfClassic poller read sector request event data.
Definition mf_classic_poller.h:142
MfClassicKeyType key_type
Key type to be used by poller.
Definition mf_classic_poller.h:145
bool key_provided
Flag indicating if key is provided.
Definition mf_classic_poller.h:146
uint8_t sector_num
Sector number to be read.
Definition mf_classic_poller.h:143
MfClassicKey key
Key to be used by poller.
Definition mf_classic_poller.h:144
MfClassic poller request mode event data.
Definition mf_classic_poller.h:93
const MfClassicData * data
Data to be used by poller.
Definition mf_classic_poller.h:95
MfClassicPollerMode mode
Mode to be used by poller.
Definition mf_classic_poller.h:94
MfClassic poller sector trailer request event data.
Definition mf_classic_poller.h:154
bool sector_trailer_provided
Flag indicating if sector trailer is provided.
Definition mf_classic_poller.h:157
uint8_t sector_num
Sector number to be read.
Definition mf_classic_poller.h:155
MfClassicBlock sector_trailer
Sector trailer to be used by poller.
Definition mf_classic_poller.h:156
MfClassic poller update event data.
Definition mf_classic_poller.h:114
uint8_t keys_found
Number of keys found.
Definition mf_classic_poller.h:116
uint8_t current_sector
Current sector number.
Definition mf_classic_poller.h:117
MfClassicPrngType prng_type
PRNG (weak or hard).
Definition mf_classic_poller.h:119
uint16_t nested_target_key
Target key for nested attack.
Definition mf_classic_poller.h:121
MfClassicNestedPhase nested_phase
Nested attack phase.
Definition mf_classic_poller.h:118
uint8_t sectors_read
Number of sectors read.
Definition mf_classic_poller.h:115
uint16_t msb_count
Number of unique most significant bytes seen during Hardnested attack.
Definition mf_classic_poller.h:123
MfClassicBackdoor backdoor
Backdoor type.
Definition mf_classic_poller.h:120
MfClassic poller write block request event data.
Definition mf_classic_poller.h:165
bool write_block_provided
Flag indicating if block is provided.
Definition mf_classic_poller.h:168
MfClassicBlock write_block
Block to be written.
Definition mf_classic_poller.h:167
uint8_t block_num
Block number to be written.
Definition mf_classic_poller.h:166
MfClassic poller event.
Definition mf_classic_poller.h:202
MfClassicPollerEventData * data
Pointer to event specific data.
Definition mf_classic_poller.h:204
MfClassicPollerEventType type
Event type.
Definition mf_classic_poller.h:203
MfClassic poller key attack event data.
Definition mf_classic_poller.h:177
uint8_t current_sector
Current sector number.
Definition mf_classic_poller.h:178
Definition mf_classic_poller_i.h:177
MfClassic poller event data.
Definition mf_classic_poller.h:184
MfClassicError error
Error code on MfClassicPollerEventTypeFail event.
Definition mf_classic_poller.h:185
MfClassicPollerEventDataUpdate data_update
Data update context.
Definition mf_classic_poller.h:189
MfClassicPollerEventDataSectorTrailerRequest sec_tr_data
Sector trailer request context.
Definition mf_classic_poller.h:193
MfClassicPollerEventKeyAttackData key_attack_data
Key attack context.
Definition mf_classic_poller.h:192
MfClassicPollerEventDataDictAttackNextSector next_sector_data
Next sector context.
Definition mf_classic_poller.h:187
MfClassicPollerEventDataWriteBlockRequest write_block_data
Write block request context.
Definition mf_classic_poller.h:194
MfClassicPollerEventDataReadSectorRequest read_sector_request_data
Read sector request context.
Definition mf_classic_poller.h:191
MfClassicPollerEventDataKeyRequest key_request_data
Key request context.
Definition mf_classic_poller.h:188
MfClassicPollerEventDataRequestMode poller_mode
Poller mode context.
Definition mf_classic_poller.h:186