小米手机写入NFC加密门禁卡小记

graph LR
    ida1[手机模拟卡片]
    ida2[仅含UID的空卡]
    idb1[读卡器读取原卡]
    idb2[完整卡片数据]
    idc1["数据写入(63扇区)"]
    idc2[得到新卡]
    ida1 -- 复制UID ---> ida2 --- idc1
    idb1 -- 解密 ---> idb2 --- idc1
    idc1 --> idc2

此方法可能可以省去一张空白卡。

注:此文仅作备忘记录。

所需器件

  • 手机
  • 读写卡设备(例如PN532、另一台手机等)
  • 配套的上位机软件(M1TMCT

操作步骤

以PC+PN532+M1T为例。手机版大同小异。

  1. 使用MIUI系统自带的"门卡模拟"功能,模拟一张卡片。此步骤后,手机上会有一张模拟了原卡片UID的,其余扇区数据为空白的卡片。
  2. 使用PN532读取原卡片数据并存储为dump。
  3. 打开手机刷卡页面,选择刚刚模拟的卡,并放在NFC读写卡硬件上。写入CUID卡-选择dump文件。成功写入63扇区后即可。此时手机上在特定场景下刷卡会提示要求验证指纹。

其他备注

  • 如果使用手机上"新建空白门卡"功能,虽然可以写入其他数据,但0扇区UID不可改变,无法达到目的。
  • 使用"门卡模拟"的门卡与原卡具有相同的UID,虽然其他扇区为空,但支持手动写入其他扇区数据。
  • 传统方法是使用空白卡先复制UID,再用手机"门卡模拟"去模拟空白卡以达到UID转移的目的。这一流程在新方法中得到简化,故不需要额外白卡。

当然,如果发现手机模拟出来的卡不是"仅有UID的空卡",那么还是需要一张白卡。