首页 > 解决方案 > 如何使用 CoreNFC 检测 Mifare Plus 芯片

问题描述

我想检测 Mifare Plus 卡。但是每当我得到扫描视图时,什么都没有发生。也不会调用错误回调或成功块。有没有办法读取这张卡片?

卡转储:

** TagInfo 扫描(版本 4.23)2019-08-08 13:05:13 ** 报告类型:外部 -- IC INFO ---------- --------

IC制造商:恩智浦半导体

IC 类型:MIFARE Plus X (MF1PLUS60)

-- NDEF ------------------

不存在 NDEF 数据存储:格式化后的最大 NDEF 存储大小:716 字节

- 额外的 - - - - - - - - - - - - - - -

内存大小:2 kB

  • 32 个扇区,每个扇区 4 个块
  • 128 个块,每个块 16 个字节

    检测到安全级别:安全级别 1

ATS 历史字节详细信息:NXP IC 信息编码芯片类型:MIFARE Plus 内存大小:未指定芯片版本:已发布芯片

代:未指定的虚拟卡选择功能:* 支持 VCS、VCSL 和 SVC * 支持所有安全级别 -- FULL SCAN -------------------------- ----

支持的技术: MIFARE Classic 兼容 ISO/IEC 14443-3(A 型)兼容 ISO/IEC 14443-2(A 型)兼容

Android技术资料: 标签说明:

  • 标签:技术 [android.nfc.tech.NfcA、android.nfc.tech.MifareClassic、android.nfc.tech.NdefFormatable]
  • 最大收发长度:253 字节
  • 默认最大收发超时:618 ms

    详细协议信息: ID: 04:6D:19:8A:CE:49:80 ATQA: 0x4400 SAK: 0x08 ATS: 0x0C75778002C1052F2F01BCD600000816

  • 最大限度。接受的帧大小:64 字节(FSCI:5)

  • 支持的接收率:
    • 106、212、424、848 kbit/s(DR:1、2、4、8)
  • 支持的发送速率:
    • 106、212、424、848 kbit/s(DS:1、2、4、8)
  • 支持不同的发送和接收速率
  • SFGT:302.0 美元(SFGI:0)
  • FWT:77.33 毫秒(FWI:8)
  • 不支持 NAD
  • 支持 CID
  • 历史字节:0xC1052F2F01BCD6 |..//...|

    内存内容:Sector 0 (0x00) [00] r-- 04 6D 19 8A CE 49 80 08 44 00 12 01 11 00 08 16 |.m...I..D........| [01] rW- 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 |......| [02] rwi 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |......| [03] WXW A0:A1:A2:A3:A4:A5 7C:37:88 00 XX:XX:XX:XX:XX:XX MAD 访问密钥(未知密钥)扇区 1 (0x01) [04] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [05] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [06] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [07] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 2 (0x02) [08] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [09] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0A] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0B]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 3 (0x03) [0C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0F] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 4 (0x04) [10] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [11] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [12] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [13] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 5 (0x05) [14] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [15] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [16] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [17] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 6 (0x06) [18] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [19] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1A] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 7 (0x07) [1C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 8 (0x08) [20] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [21] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [22] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [23] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 9 (0x09) [24] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [25] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [26] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [27] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 10 (0x0A) [28] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [29] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 11 (0x0B) [2C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 12 (0x0C) [30] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [31] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [32] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [33] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 13 (0x0D) [34] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [35] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [36] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [37] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 14 (0x0E) [38] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [39] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 15 (0x0F) [3C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 16 (0x10) [40] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [41] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [42] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [43] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 17 (0x11) [44] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [45] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [46] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [47] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 18 (0x12) [48] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [49] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 19 (0x13) [4C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4E]??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 20 (0x14) [50] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [51] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [52] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [53] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 21 (0x15) [54] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [55] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [56] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [57] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 22 (0x16) [58] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [59] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 23 (0x17) [5C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 24 (0x18) [60] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [61] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [62] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [63] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 25 (0x19) [64] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [65] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [66] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [67] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 26 (0x1A) [68] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [69] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 27 (0x1B) [6C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6E]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 28 (0x1C) [70] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [71] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [72] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [73] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 29 (0x1D) [74] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [75] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [76] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [77] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 30 (0x1E) [78] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [79] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 31 (0x1F) [7C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

r/R=read, w/W=write, i/I=increment, d=decr/transfer/restore, x=r+w, X=R+W 数据块:r/w/i/d:key A |B, R/W/I:key B only, I/i 暗示 d, *=value 块尾(顺序: key A, AC, key B): r/w:key A, W:key B, R:密钥 A|B, (r)=可读密钥 AC:W 表示 R+r,R 表示 r

...
        guard let session = NFCTagReaderSession(pollingOption: [.iso14443], delegate: self) else { return }
        self.session = session
        session.begin()

...
extension Controller: NFCTagReaderSessionDelegate {
    func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) {
        print("tagReaderSessionDidBecomeActive")
    }

    func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) {
        print(error.localizedDiscription)
    }

    func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {
        print("did detect")
    }
}

标签: iosswiftnfcmifarecore-nfc

解决方案


推荐阅读