首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分Mifare Ultralight和Mifare Ultralight

区分Mifare Ultralight和Mifare Ultralight
EN

Stack Overflow用户
提问于 2012-08-10 16:15:34
回答 2查看 2.3K关注 0票数 6

有没有一种可靠的方法来确定RFID卡是Mifare Ultralight还是Mifare Ultralight C?

到目前为止,我发现的唯一方法是利用这两个卡的大小差异,在较小的卡的边界之外发出读取命令。但它看起来确实像是一次黑客攻击,我认为如果该卡使用Ultralight身份验证机制,那么read命令可能会失败。

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-10 19:06:04

是的,如果您有关于MIFARE Ultralight C身份验证机制如何工作的文档,就有可能实现。MIFARE Ultralight不支持此操作,因此它将引发错误条件。

票数 6
EN

Stack Overflow用户

发布于 2013-10-18 22:28:52

一旦您了解了保密协议并访问了完整的数据表,您将看到一个部分,其中描述了如何将Mifare Ultralight C与其他Mifare标记区分开来。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11897813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档