前言

很久之前我在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卡的更多相关文章

  1. 使用ACR122U NFC读卡器对M1卡进行读写操作(可以读写中文)

    因为项目需要,第一次接触到了ACR122U NFC读卡器(非接触式)和M1卡,首先介绍一下想要读写应该知道的基本知识. 我就根据我的理解先叙述一下: ACR122U 是一款连机非接触式智能卡读写器,可 ...

  2. Android NFC M1卡读写&芯片卡读写(CPU卡读写)(RFID读写)

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/sgn5200/article/detai ...

  3. linux块设备读写流程

    在学习块设备原理的时候,我最关系块设备的数据流程,从应用程序调用Read或者Write开始,数据在内核中到底是如何流通.处理的呢?然后又如何抵达具体的物理设备的呢?下面对一个带Cache功能的块设备数 ...

  4. M1卡破解(自从学校升级系统之后,还准备在研究下)【转】

    本文转载自: M1卡说明及使用proxmark3破解方法 看了网上写的一些关于M1卡的文章,多数有些误导之嫌.首先谈谈M1卡的规格,M1卡的容量为1KB,好多网上写8KB,这里其实是有个误区,应该是8 ...

  5. RFID-RC522、FM1702SL、M1卡初探

    catalogue . 引言 . RC522芯片(读卡器)简介 . FM1702SL芯片(读卡器)简介 . RFID M1卡简介 . 读取ID/序列号(arduino uno.MFRC522芯片 Ba ...

  6. M1卡介绍

    本文整理自网络. M1卡是指菲利浦下属子公司恩智浦出品的芯片缩写,全称为NXP Mifare1系列,常用的有S50及S70两种型号,目前都有国产芯片与其兼容,属于非接触式IC卡.最为重要的优点是可读可 ...

  7. 射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡【worlsing笔记】

    Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听.数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥.现代加密技术的一大特点是加密算法公开,如果 ...

  8. 射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡

    Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听.数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥.现代加密技术的一大特点是加密算法公开,如果 ...

  9. 【Linux驱动】字符设备驱动

    一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 1.字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面 ...

  10. 用树莓派3B+和 ITEAD PN532 读取、破解、写入M1卡

    这是一篇介绍如何用树莓派使用PN532的随笔,介绍了具体的使用步骤. 首先介绍一下: ①.IC卡是非接触式的智能卡,里面一般是一个方形线圈和一个小芯片(用强光照着可以看到).M1卡是IC卡的一种,一般 ...

随机推荐

  1. Java开发学习(三十四)----Maven私服(二)本地仓库访问私服配置与私服资源上传下载

    一.本地仓库访问私服配置 我们通过IDEA将开发的模块上传到私服,中间是要经过本地Maven的 本地Maven需要知道私服的访问地址以及私服访问的用户名和密码 私服中的仓库很多,Maven最终要把资源 ...

  2. Unity接入微信支付SDK 2022年版安卓篇

    最近1年转了UE开发,博客更新的比较少,技术栈宽了不少,以后有空尽量多更新,也方便总结记忆 Unity接入微信支付整个过程坑比较多,网上之前的教程要么比较老,要么比较零碎,只能东拼西凑摸索,跑通后还是 ...

  3. Django 运行报异常:AttributeError: 'str' object has no attribute 'get'

    Technorati Tags: Python,Django,Web 在使用django.contrib.auth用户机制进行用户的验证.登录.注销操作时,遇到这个异常. 首先是写了一个登录的视图,要 ...

  4. KubePi主界面添加镜像仓库并授权给集群,供创建Deployment时选择镜像使用

    1.添加kubeoperator自带的nexus仓库 2.添加harbor 3.把添加的镜像仓库授权给集群 4.关于镜像仓库secrets的有关说明 5.实际效果 6.从添加授权的镜像仓库创建工作负载 ...

  5. Loki二进制命令帮助

    Usage of config-file-loader: -auth.enabled Set to false to disable auth. (default true) -azure.accou ...

  6. Acwing 正方形数组的数目(dfs去重)

    解题代码 #include<iostream> #include<algorithm> #include<cmath> using namespace std; # ...

  7. NSIS自定义目录选择页面制作之安装…

    在nsis制作自定义界面中,目录选择页面个人感觉最为繁琐,因为该界面不仅涉及到界面控件的创建,还要涉及到控件消息传递和状态改变时的回调函数通告. 迅雷界面为例: 其中安装目录中的8盘符,在本机中并不存 ...

  8. 洛谷U81904 【模板】树的直径

    有负边权,所以用树形DP来找树的直径. 1 //树形DP求树的直径 2 #include<bits/stdc++.h> 3 using namespace std; 4 const int ...

  9. Linx__Ubuntu_APT

    apt介绍 apt是Advanced Packaging Tool的简称. 在Ubuntu下,我们可以使用apt命令进行软件包的更新,安装,删除,清理等 类似于Windows的软件管理工具. 就是Ce ...

  10. NOI2017蚯蚓排队

    原题链接 发现 k<=50 ,在插入和删除时最多会影响不超过 k2 个串,用链表实现插入和删除,然后只需用哈希表维护每个长度不超过k的串的出现次数,哈希的话可以先用比较大的范围的值处理冲突,再映 ...