Add new card parsers (#1503)
* Add the "Two cities" parser * Add plantain and plantain4k parsers * Add new parsers to the supported list * United card PoC * Fix nfc device not sleeping * Completely read the 4K troika variants * Correct naming * Update to reflect upstream changes * Add support for MfUl info * Fix parsers * Card type detection fixes * Remove debug info * Fixes for the verification of cards * nfc: fix verification for supported cards * nfc: remove unused vars * Improve card reading reliability and fix plantain * plantain: change log level Co-authored-by: gornekich <n.gorbadey@gmail.com>
This commit is contained in:
		| @@ -47,7 +47,9 @@ void nfc_scene_device_info_on_enter(void* context) { | ||||
|             } | ||||
|             string_clear(country_name); | ||||
|         } | ||||
|     } else if(dev_data->protocol == NfcDeviceProtocolMifareClassic) { | ||||
|     } else if( | ||||
|         dev_data->protocol == NfcDeviceProtocolMifareClassic || | ||||
|         dev_data->protocol == NfcDeviceProtocolMifareUl) { | ||||
|         string_set(temp_str, nfc->dev->dev_data.parsed_data); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -34,15 +34,19 @@ void nfc_scene_mf_ultralight_read_success_on_enter(void* context) { | ||||
|         nfc); | ||||
|  | ||||
|     string_t temp_str; | ||||
|     string_init_printf(temp_str, "\e#%s\n", nfc_mf_ul_type(mf_ul_data->type, true)); | ||||
|     string_cat_printf(temp_str, "UID:"); | ||||
|     for(size_t i = 0; i < data->uid_len; i++) { | ||||
|         string_cat_printf(temp_str, " %02X", data->uid[i]); | ||||
|     } | ||||
|     string_cat_printf( | ||||
|         temp_str, "\nPages Read: %d/%d", mf_ul_data->data_read / 4, mf_ul_data->data_size / 4); | ||||
|     if(mf_ul_data->data_read != mf_ul_data->data_size) { | ||||
|         string_cat_printf(temp_str, "\nPassword-protected pages!"); | ||||
|     if(string_size(nfc->dev->dev_data.parsed_data)) { | ||||
|         string_init_set(temp_str, nfc->dev->dev_data.parsed_data); | ||||
|     } else { | ||||
|         string_init_printf(temp_str, "\e#%s\n", nfc_mf_ul_type(mf_ul_data->type, true)); | ||||
|         string_cat_printf(temp_str, "UID:"); | ||||
|         for(size_t i = 0; i < data->uid_len; i++) { | ||||
|             string_cat_printf(temp_str, " %02X", data->uid[i]); | ||||
|         } | ||||
|         string_cat_printf( | ||||
|             temp_str, "\nPages Read: %d/%d", mf_ul_data->data_read / 4, mf_ul_data->data_size / 4); | ||||
|         if(mf_ul_data->data_read != mf_ul_data->data_size) { | ||||
|             string_cat_printf(temp_str, "\nPassword-protected pages!"); | ||||
|         } | ||||
|     } | ||||
|     widget_add_text_scroll_element(widget, 0, 0, 128, 52, string_get_cstr(temp_str)); | ||||
|     string_clear(temp_str); | ||||
|   | ||||
| @@ -91,7 +91,9 @@ bool nfc_scene_saved_menu_on_event(void* context, SceneManagerEvent event) { | ||||
|             bool application_info_present = false; | ||||
|             if(dev_data->protocol == NfcDeviceProtocolEMV) { | ||||
|                 application_info_present = true; | ||||
|             } else if(dev_data->protocol == NfcDeviceProtocolMifareClassic) { | ||||
|             } else if( | ||||
|                 dev_data->protocol == NfcDeviceProtocolMifareClassic || | ||||
|                 dev_data->protocol == NfcDeviceProtocolMifareUl) { | ||||
|                 application_info_present = nfc_supported_card_verify_and_parse(dev_data); | ||||
|             } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user