libnfc提供了操作NFC读卡器的一系列方便的工具、其中读写卡是我们最常见的功能,在本文中讲介绍使用nfc-mfclassic对M1卡进行读写操作。
请先安装Libnfc,可参考
Ubuntu 16.04 安装nfclib
1. 了解Libnfc工具包
- nfc-scan-device 扫描NFC设备
- nfc-list 读取M1卡片基本信息
- nfc-mfsetuid 用于改写M1卡的UID号,不是普通的卡都能改写,一定要UID卡也就是所谓的Chinese clones
- nfc-mfclassic 用于在已知密钥的情况下读写M1卡
2. 确认PN532连接方式
pn532连接方式有很多i2c、spi、uart等,请讲拨码开关拨置uart下使用。
3. 安装并测试PN532能否正确使用
4. 介绍nfc-mfclassic
nfc-mfclassic f|r|R|w|W a|b <dump.mfd> [<keys.mfd> [f]]
- f 执行格式化操作
- r 读操作
- R UID卡强行读
- w 写操作
- W UID卡强行写(包括UID号)
- a b 使用a密钥或使用b密钥
- A B 忽略错误
<dump.mfd> 数据文件(后缀不一定为.mdf)
<keys.mfd> 密钥文件 - f 如果UID号不一样的话 请在命令后加f强行操作忽略UID
> A B密钥代表了读写的权限,每张卡可能会有不同的控制位来标记
5.命令介绍
使用A密钥读卡
nfc-mfclassic r a mycard.mfd
使用A密钥写卡
nfc-mfclassic w a newdata.mfd mycard.mfd
当使用UID卡时可以执行
nfc-mfclassic W A newdata.mfd mycard.mfd f