前言
很久之前我在windows用过这个ACR122U-A9设备, 还挺好用,但是换了linux后,突然想又想用这个设备又是一顿折腾…
关于这个设备
其实这个设备只能读取M1卡(水卡这种),当时什么都不懂
1.环境配置
驱动问题
我使用的linux系统为 Linux Mint 19.1 Cinnamon(其他linux也一样),其实linux 驱动很多都自带了,但是要修改一个配置文件,否则读取会卡死(可能是驱动冲突)
vi /etc/modprobe.d/blacklist.conf
在文件最后面加上:
install nfc /bin/false
install pn533 /bin/false
修改后需要重启电脑
其余的驱动什么都不需要安装
软件安装
sudo apt install libnfc-bin libnfc-dev
然后测试:
如图输出即为设备连接成功!(运行这个命令设备绿灯会亮一下)
mfoc安装
这个软件是破解M1卡密码的
如果你电脑是kail 可能会自带这个命令,所以如果你电脑有这个命令可以跳过这一步
而我电脑不自带,所以只能上github编译安装
地址
下载项目后进入文件夹执行
autoreconf -is
./configure
make && sudo make install
这里我当时 ./configure
报了一个错误configure: error: libnfc >= 1.7.0 is mandatory.
就是缺少libnfc-dev
这个依赖,当然这里我已经在前面让你安装了,如果还是报错就是软件版本的问题了
到此所有软件安装完毕
其他
看到很多教程让安装pcscd pcsc-tools libacsccid1
软件,经过我亲自测试这些软件没有也可以成功运行(因为为了教程严谨我把这些软件依次卸载了,然后还是可以正常运行)
2. 读卡写卡的操作
首先你要知道 M1卡分两种,一种为 0扇区0块可写,一种为 0扇区0块不可写.
读卡操作
连接设备将卡放到设备上,设备变为绿灯,并发出提示音
首先用 mfoc
命令破解密码以及 将卡数据 dump
下来
mfoc -O 1.dump
然后可以使用 hexedit
这个软件进行修改或查看
退出快捷键为 ctrl + c
,保存为 ctrl + x
写卡操作
nfc-mfclassic w b 1.dump
w 为写入的意思
b为密码B类密码(我也没明白,反正大多数都是b)
这条命令其实就是只是把除了0扇区0块的其余所有数据写入到卡中
如果你的卡是0扇区0块可修改的,也可以克隆卡
nfc-mfclassic W b 1.dump
W 即可写入0扇区,前提是你的卡是0扇区可写的,如果不可写,就会报错(可能会损坏卡), 这种操作后两个卡就是完完全全的相同了
其余操作命令我没怎么研究,因为我的需求没有那么多,有兴趣的可以查看man文档