1
mirror of https://github.com/flipperdevices/flipperzero-firmware.git synced 2025-12-12 04:41:26 +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:
Astra
2024-07-01 02:54:55 +09:00
committed by GitHub
parent 81e2736145
commit 2b0b5b02b5
4 changed files with 25 additions and 2 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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 entry status name type params
2 Version + 67.0 67.1
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/bt/bt_service/bt_keys_storage.h
5 Header + applications/services/cli/cli.h

View File

@@ -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*"
1 entry status name type params
2 Version + 67.0 67.1
3 Header + applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h
4 Header + applications/services/bt/bt_service/bt.h
5 Header + applications/services/bt/bt_service/bt_keys_storage.h
2516 Function + mf_classic_set_block_read void MfClassicData*, uint8_t, MfClassicBlock*
2517 Function + mf_classic_set_key_found void MfClassicData*, uint8_t, MfClassicKeyType, uint64_t
2518 Function + mf_classic_set_key_not_found void MfClassicData*, uint8_t, MfClassicKeyType
2519 Function + mf_classic_set_sector_trailer_read void MfClassicData*, uint8_t, MfClassicSectorTrailer*
2520 Function + mf_classic_set_uid _Bool MfClassicData*, const uint8_t*, size_t
2521 Function + mf_classic_value_to_block void int32_t, uint8_t, MfClassicBlock*
2522 Function + mf_classic_verify _Bool MfClassicData*, const FuriString*