mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-12 20:49:49 +04:00
Merge remote-tracking branch 'noproto/nestednonces' into dev
This commit is contained in:
@@ -141,7 +141,6 @@ static void nfc_scene_mf_classic_dict_attack_prepare_view(NfcApp* instance) {
|
|||||||
uint32_t state =
|
uint32_t state =
|
||||||
scene_manager_get_scene_state(instance->scene_manager, NfcSceneMfClassicDictAttack);
|
scene_manager_get_scene_state(instance->scene_manager, NfcSceneMfClassicDictAttack);
|
||||||
if(state == DictAttackStateCUIDDictInProgress) {
|
if(state == DictAttackStateCUIDDictInProgress) {
|
||||||
do {
|
|
||||||
size_t cuid_len = 0;
|
size_t cuid_len = 0;
|
||||||
const uint8_t* cuid = nfc_device_get_uid(instance->nfc_device, &cuid_len);
|
const uint8_t* cuid = nfc_device_get_uid(instance->nfc_device, &cuid_len);
|
||||||
FuriString* cuid_dict_path = furi_string_alloc_printf(
|
FuriString* cuid_dict_path = furi_string_alloc_printf(
|
||||||
@@ -149,6 +148,7 @@ static void nfc_scene_mf_classic_dict_attack_prepare_view(NfcApp* instance) {
|
|||||||
EXT_PATH("nfc/assets"),
|
EXT_PATH("nfc/assets"),
|
||||||
(uint32_t)bit_lib_bytes_to_num_be(cuid + (cuid_len - 4), 4));
|
(uint32_t)bit_lib_bytes_to_num_be(cuid + (cuid_len - 4), 4));
|
||||||
|
|
||||||
|
do {
|
||||||
if(!keys_dict_check_presence(furi_string_get_cstr(cuid_dict_path))) {
|
if(!keys_dict_check_presence(furi_string_get_cstr(cuid_dict_path))) {
|
||||||
state = DictAttackStateUserDictInProgress;
|
state = DictAttackStateUserDictInProgress;
|
||||||
break;
|
break;
|
||||||
@@ -159,8 +159,6 @@ static void nfc_scene_mf_classic_dict_attack_prepare_view(NfcApp* instance) {
|
|||||||
KeysDictModeOpenExisting,
|
KeysDictModeOpenExisting,
|
||||||
sizeof(MfClassicKey));
|
sizeof(MfClassicKey));
|
||||||
|
|
||||||
furi_string_free(cuid_dict_path);
|
|
||||||
|
|
||||||
if(keys_dict_get_total_keys(instance->nfc_dict_context.dict) == 0) {
|
if(keys_dict_get_total_keys(instance->nfc_dict_context.dict) == 0) {
|
||||||
keys_dict_free(instance->nfc_dict_context.dict);
|
keys_dict_free(instance->nfc_dict_context.dict);
|
||||||
state = DictAttackStateUserDictInProgress;
|
state = DictAttackStateUserDictInProgress;
|
||||||
@@ -169,6 +167,8 @@ static void nfc_scene_mf_classic_dict_attack_prepare_view(NfcApp* instance) {
|
|||||||
|
|
||||||
dict_attack_set_header(instance->dict_attack, "MF Classic CUID Dictionary");
|
dict_attack_set_header(instance->dict_attack, "MF Classic CUID Dictionary");
|
||||||
} while(false);
|
} while(false);
|
||||||
|
|
||||||
|
furi_string_free(cuid_dict_path);
|
||||||
}
|
}
|
||||||
if(state == DictAttackStateUserDictInProgress) {
|
if(state == DictAttackStateUserDictInProgress) {
|
||||||
do {
|
do {
|
||||||
|
|||||||
@@ -20,8 +20,7 @@ const MfClassicBackdoorKeyPair mf_classic_backdoor_keys[] = {
|
|||||||
{{{0xa3, 0x16, 0x67, 0xa8, 0xce, 0xc1}}, MfClassicBackdoorAuth1}, // Fudan, Infineon, NXP
|
{{{0xa3, 0x16, 0x67, 0xa8, 0xce, 0xc1}}, MfClassicBackdoorAuth1}, // Fudan, Infineon, NXP
|
||||||
{{{0x51, 0x8b, 0x33, 0x54, 0xe7, 0x60}}, MfClassicBackdoorAuth2}, // Fudan
|
{{{0x51, 0x8b, 0x33, 0x54, 0xe7, 0x60}}, MfClassicBackdoorAuth2}, // Fudan
|
||||||
};
|
};
|
||||||
const size_t mf_classic_backdoor_keys_count =
|
const size_t mf_classic_backdoor_keys_count = COUNT_OF(mf_classic_backdoor_keys);
|
||||||
sizeof(mf_classic_backdoor_keys) / sizeof(mf_classic_backdoor_keys[0]);
|
|
||||||
const uint16_t valid_sums[] =
|
const uint16_t valid_sums[] =
|
||||||
{0, 32, 56, 64, 80, 96, 104, 112, 120, 128, 136, 144, 152, 160, 176, 192, 200, 224, 256};
|
{0, 32, 56, 64, 80, 96, 104, 112, 120, 128, 136, 144, 152, 160, 176, 192, 200, 224, 256};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user