2012-08-10 6 views
6

से Mifare अल्ट्रालाइट भेद वहाँ पता लगाने के लिए अगर एक RFID कार्ड या तो एक Mifare अल्ट्रालाइट या Mifare अल्ट्रालाइट सी है एक विश्वसनीय तरीका है?Mifare अल्ट्रालाइट सी

एक ही रास्ता मैंने पाया अब तक उन दो कार्ड छोटे एक की सीमाओं से परे एक पढ़ें आदेश जारी करने के आकार में अंतर का उपयोग कर रहा है। लेकिन यह एक हैक जैसा दिखता है और मुझे लगता है कि कार्ड अल्ट्रालाइट सी प्रमाणीकरण तंत्र का उपयोग करता है तो पढ़ा गया आदेश विफल हो सकता है।

const char* mifare_ultralight_identification(const nfc_target_info_t nti) 
{ 
    byte_t abtCmd[2]; 
    byte_t abtRx[265]; 
    size_t szRxLen; 

    abtCmd[0] = 0x30; // MIFARE Ultralight READ command 
    abtCmd[1] = 0x10; // block address (1K=0x00..0x39, 4K=0x00..0xff) 

    if (!nfc_initiator_transceive_dep_bytes(pnd,abtCmd,2,abtRx,&szRxLen)) { 
    // READ command of 0x10 failed, we consider that Ultralight does have 0x10 address, so it's a "simple" Ultralight (i.e. not a Ultralight C) 
    // When a READ failed, the tag returns in HALT state, so we need to reselect tag 
    nfc_initiator_select_passive_target(pnd, NM_ISO14443A_106, nti.nai.abtUid, nti.nai.szUidLen, NULL); 
    return ""; 
    } 
    return " C"; 
} 

Source

उत्तर

5

हाँ, यह संभव है यदि आप कैसे MIFARE अल्ट्रालाइट सी प्रमाणीकरण तंत्र काम करता है पर दस्तावेजीकरण किया है। MIFARE Ultralight इसका समर्थन नहीं करता है, इसलिए यह एक त्रुटि स्थिति उठाएगा।

+0

मेरी दूसरी सोचा भी था। हालांकि एक कमांड का उपयोग करना जो उनमें से एक पर मौजूद नहीं है, अभी भी एक कामकाज है। लेकिन ऐसा लगता है कि ऐसा करने का कोई साफ तरीका नहीं है। – mibollma

+0

हां, यह सबसे आसान विश्वसनीय तरीका है। –

-1

एक बार जब आप एनडीए के अधीन हैं और पूरा डाटा शीट के लिए उपयोग मिलता है, यदि आप एक खंड बताता है कि अन्य Mifare टैग से एक Mifare अल्ट्रालाइट सी अंतर करने के लिए कैसे देखेंगे।

+0

मुझे यह अनुभाग नहीं मिला। क्या आप बता सकते हैं कि आप किस दस्तावेज़ का जिक्र कर रहे हैं? (मैंने 137631 पर एक नज़र डाली और कुछ भी नहीं मिला)। धन्यवाद! – kdmin