linux 使用ACR122U-A9设备读写M1卡

2023-02-14,,,,

前言

很久之前我在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文档

linux 使用ACR122U-A9设备读写M1卡的相关教程结束。

《linux 使用ACR122U-A9设备读写M1卡.doc》

下载本文的Word格式文档,以方便收藏与打印。