mirror of
https://github.com/flipperdevices/flipperzero-firmware.git
synced 2025-12-12 20:59:50 +04:00
[NFC] Add mf_classic_set_sector_trailer_read function (#3733)
Co-authored-by: gornekich <n.gorbadey@gmail.com> Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
@@ -432,6 +432,23 @@ bool mf_classic_is_sector_trailer(uint8_t block) {
|
|||||||
return block == mf_classic_get_sector_trailer_num_by_block(block);
|
return block == mf_classic_get_sector_trailer_num_by_block(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mf_classic_set_sector_trailer_read(
|
||||||
|
MfClassicData* data,
|
||||||
|
uint8_t block_num,
|
||||||
|
MfClassicSectorTrailer* sec_tr) {
|
||||||
|
furi_check(data);
|
||||||
|
furi_check(sec_tr);
|
||||||
|
furi_check(mf_classic_is_sector_trailer(block_num));
|
||||||
|
|
||||||
|
uint8_t sector_num = mf_classic_get_sector_by_block(block_num);
|
||||||
|
MfClassicSectorTrailer* sec_trailer =
|
||||||
|
mf_classic_get_sector_trailer_by_sector(data, sector_num);
|
||||||
|
memcpy(sec_trailer, sec_tr, sizeof(MfClassicSectorTrailer));
|
||||||
|
FURI_BIT_SET(data->block_read_mask[block_num / 32], block_num % 32);
|
||||||
|
FURI_BIT_SET(data->key_a_mask, sector_num);
|
||||||
|
FURI_BIT_SET(data->key_b_mask, sector_num);
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t mf_classic_get_sector_by_block(uint8_t block) {
|
uint8_t mf_classic_get_sector_by_block(uint8_t block) {
|
||||||
uint8_t sector = 0;
|
uint8_t sector = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -184,6 +184,11 @@ MfClassicSectorTrailer*
|
|||||||
|
|
||||||
bool mf_classic_is_sector_trailer(uint8_t block);
|
bool mf_classic_is_sector_trailer(uint8_t block);
|
||||||
|
|
||||||
|
void mf_classic_set_sector_trailer_read(
|
||||||
|
MfClassicData* data,
|
||||||
|
uint8_t block_num,
|
||||||
|
MfClassicSectorTrailer* sec_tr);
|
||||||
|
|
||||||
uint8_t mf_classic_get_sector_by_block(uint8_t block);
|
uint8_t mf_classic_get_sector_by_block(uint8_t block);
|
||||||
|
|
||||||
bool mf_classic_block_to_value(const MfClassicBlock* block, int32_t* value, uint8_t* addr);
|
bool mf_classic_block_to_value(const MfClassicBlock* block, int32_t* value, uint8_t* addr);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
entry,status,name,type,params
|
entry,status,name,type,params
|
||||||
Version,+,67.0,,
|
Version,+,67.1,,
|
||||||
Header,+,applications/services/bt/bt_service/bt.h,,
|
Header,+,applications/services/bt/bt_service/bt.h,,
|
||||||
Header,+,applications/services/bt/bt_service/bt_keys_storage.h,,
|
Header,+,applications/services/bt/bt_service/bt_keys_storage.h,,
|
||||||
Header,+,applications/services/cli/cli.h,,
|
Header,+,applications/services/cli/cli.h,,
|
||||||
|
|||||||
|
@@ -1,5 +1,5 @@
|
|||||||
entry,status,name,type,params
|
entry,status,name,type,params
|
||||||
Version,+,67.0,,
|
Version,+,67.1,,
|
||||||
Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,,
|
Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,,
|
||||||
Header,+,applications/services/bt/bt_service/bt.h,,
|
Header,+,applications/services/bt/bt_service/bt.h,,
|
||||||
Header,+,applications/services/bt/bt_service/bt_keys_storage.h,,
|
Header,+,applications/services/bt/bt_service/bt_keys_storage.h,,
|
||||||
@@ -2516,6 +2516,7 @@ Function,+,mf_classic_save,_Bool,"const MfClassicData*, FlipperFormat*"
|
|||||||
Function,+,mf_classic_set_block_read,void,"MfClassicData*, uint8_t, MfClassicBlock*"
|
Function,+,mf_classic_set_block_read,void,"MfClassicData*, uint8_t, MfClassicBlock*"
|
||||||
Function,+,mf_classic_set_key_found,void,"MfClassicData*, uint8_t, MfClassicKeyType, uint64_t"
|
Function,+,mf_classic_set_key_found,void,"MfClassicData*, uint8_t, MfClassicKeyType, uint64_t"
|
||||||
Function,+,mf_classic_set_key_not_found,void,"MfClassicData*, uint8_t, MfClassicKeyType"
|
Function,+,mf_classic_set_key_not_found,void,"MfClassicData*, uint8_t, MfClassicKeyType"
|
||||||
|
Function,+,mf_classic_set_sector_trailer_read,void,"MfClassicData*, uint8_t, MfClassicSectorTrailer*"
|
||||||
Function,+,mf_classic_set_uid,_Bool,"MfClassicData*, const uint8_t*, size_t"
|
Function,+,mf_classic_set_uid,_Bool,"MfClassicData*, const uint8_t*, size_t"
|
||||||
Function,+,mf_classic_value_to_block,void,"int32_t, uint8_t, MfClassicBlock*"
|
Function,+,mf_classic_value_to_block,void,"int32_t, uint8_t, MfClassicBlock*"
|
||||||
Function,+,mf_classic_verify,_Bool,"MfClassicData*, const FuriString*"
|
Function,+,mf_classic_verify,_Bool,"MfClassicData*, const FuriString*"
|
||||||
|
|||||||
|
Reference in New Issue
Block a user