RFID射频卡写入手机NFC心路小记
声明:
- 本文仅是作者学习探索的心里路程日记,如果您看完以后,从中获得了一些知识,作者不胜荣幸。
- 科技是一把双刃剑,利用好了,可以方便生活,利用不当也肯能扰乱公共管理秩序,造成不必要的麻烦。
- 文章中的方法仍需要经济支出,借助他人工具完成,如读者想全凭个人之力从零制作自己的读卡解码设备,可至此结束。
加粗样式
目录
- 1 作者大意丢门卡,一心便捷改出行
- 2 拾理论重制读写器,笨方法难读加密卡
- 3 陷密区锁匠巧解码,写手机再破便捷梦
- 4 暴力破解再试水,万千秘钥仍落空
- 5 购物网再显神通,读卡器终破密码
- 6 不求人循迹探索,要自主解析数据
- 7 假软件时常崩溃,找规律自写程序
- 8 无卡自由终圆梦,遵守底线有始终
1 作者大意丢门卡,一心便捷改出行
目前,各个小区多使用射频卡管理门禁和电梯使用,只有拿到了小区物业发给业主的门禁卡后,业主才能通过刷卡的方式进入单元楼或使用电梯。
作者所住宅的小区便广泛应用了射频卡这一管理方式。自从家中换上了指纹智能锁之后,越来越享受不带钥匙的便利,然为了能正常使用电梯,出门时仍需带着一张电梯卡,由于本人的马虎和电梯卡的小巧,在短短半个月内,竟因为掏兜时不注意丢失了两张门禁卡。补办一张卡拾元,虽不贵,但是仍然心疼和懊恼,于是,想把门禁卡写入自己带有NFC功能的手机中的想法便油然而生。
(虽然网上方法很多,甚至一些大神从网上找一些代码即可破解并且无限制制作各种卡,但是教程不详,作为一个这方面的小小白只能望而却步自行探索。)加粗样式
2 拾理论重制读写器,笨方法难读加密卡
既然,想要破解门禁卡,那必然需要了解门禁卡。
作者本科学的是电气专业,自然学习过单片机等知识,并且也是单片机的爱好者。玩单片机必不可少的是控制各种模块。以前就使用过射频卡读写模块,但当时了解不深,仅仅是使用例程读到了卡的UID号便不了了之了。再次遇到这种问题,便找出了当年用过的射频卡模块,重新学习阅读了使用手册和M1 IC射频卡的相关知识。为此,我还重新设计了一块单片机系统板,方便单片机和射频卡模块连接。
既然想读卡,那就需要知道卡类型,卡的存储结构。射频卡根据通讯频率,存储数据方式也分好多种类,我使用的便是最常见的M1卡。该卡的存储空间分为16个扇区,每个扇区有四个块,每个块又有16个字节。除0扇区外,每个扇区前三个块便是数据区,第四个块存放的便是该扇区的控制方式和读写密码。此处不详细阐述讲解,可参考该模块的手册文档加以了解。
通过自己制作好的单片机系统板和读写模块进行连接,重新修改例程,方便了自己通过串口控制读写。便开始读取门禁卡。前十个扇区读取都非常顺利,唯独到了第十一个扇区,串口便打印输出密码验证错误的提示。跳过该扇区继续读取,最终除十号扇区外,全部读取成功,但也都是空扇区。最终得出,只有十号扇区是加密扇区,里面写了门禁的各种数据。
此时,我也曾想到了暴力破解的方式,但是我也清楚的算到密码的组合方式有二百万亿之多,以我这小单片机的算力,需要算上个把月都不一定跑的出正确密码。至此,该方式便以失败告终了。
3 陷密区锁匠巧解码,写手机再破便捷梦
无意间,我得知家人从我一个配钥匙的长辈哪里给家里复制了好几张门禁卡,因此我想那个长辈手中肯定有网上买来的门禁卡复制器。既然能把卡内容复制出来,必然可以破解出来加密扇区的内容。
为此,我找到了那个长辈的门店,见到了那个可以复制卡的设备(见下图),我把门禁卡贴到读卡器上,按下读取,很顺利的便读取完成,并提示读取成功。我赶紧拿出手机生成了一张空白卡,并利用读卡器的写入功能往手机里写如原卡数据,可是手机显示写入完成,但是读卡器显示写入失败。我重新尝试了几次,读卡器都显示写入失败。不甘心的我认为,既然手机都提示数据写入完成了,没准就成功了呢!
拿着写好的手机,便急匆匆赶回去试验,把手机模拟的那张卡打开,贴近电梯读卡器,结果便是电梯根本没有反应。
心想既然这个设备写不成,那我看到解密出来的密码,自己的读写模块没准可以写成。于是,我便再次返回到那个长辈那里,试图从按个读卡器的按键中按出扇区数据来可以查看扇区里面的内容。但是这个手持设备根本没有显示扇区数据这个功能。后来我才了解到,它需要连接电脑或者手机后才可以通过软件查看和导出数据。鉴于我不方便借走这个东西并且也无法直接和客服寻求软件使用方法,探索之路再一次告破。
小记:非常优秀的读卡器为什么写入手机会出错呢,后来的探索过程中才了解到,一般IC卡片的第一个扇区的第一个块只读,因为这个块写的是卡号和厂商代码,是固化的并不能修改。然而复制的新卡使用的是专门可复制的空白卡,卡里的每个扇区都可以读写。因此读卡器复制卡到新卡上写入就可以成功。但是,手机模拟生成的空白卡第一个扇区的第一个块也是固定的,不允许修改,因此读卡器再写这个块时便提示写入失败了。
那写入第一个块失败,只要加密扇区写入成功了不就不影响使用吗?其实不然,我所在的小区门禁读卡系统,并不每个卡的加密扇区都一样,密码是通过卡的UID号就算出来的,因此如果电梯的读卡系统通过卡号计算出来的加密密码,和加密扇区写的密码不一样,自然读不出来加密扇区的数据。
4 暴力破解再试水,万千秘钥仍落空
既然说密码组合方式有二百万亿之多,为什么还要再次尝试破解呢,缘因看到了一篇博文,提供了一种手机APP可以专门通过手机端NFC读写功能对门禁卡进行各种密码的遍历探索,虽然手机的读取速度相比较单片机更快,然而遍历的密码如果还是这二百万亿多个也是不现实的,为此,网上提供了一种秘钥字典,里面包含了各种可能的密码和网友们分享出来的密码。大概有几万个之多,将这种秘钥字典导入手机APP,通过手机APP对这些秘钥字典进行遍历尝试,试图找到正确的秘钥。
我从网上大概找了十万多个秘钥,为了防止手机长时间读取导致发热过烫,我还将秘钥每一万个一组分成多个文件,挨个尝试。每一万个秘钥文件大概需要二十分钟才可以遍历完,这还仅是探索秘钥A的时间,还要继续尝试秘钥B,因此每一万个秘钥大概一个小时才可以遍历完。这段时间还要手机紧贴门禁卡,时刻关注APP的探索信息,不能再用手机干别的事情。因此这也是一个枯燥的过程。
我大概用来两天的时间才完成了这十多个秘钥的遍历,没一个对的。评论中到是有个别网友试验了五千左右就成功的,各位也不妨一试。
APP和秘钥文件地址在这个博主的博客中可以找到
5 购物网再显神通,读卡器终破密码
之前一直希望可以通过零成本解决这个问题,也源于看到那个用过的读卡器价格竟然在几百元左右,实在不想花这个钱。
无奈之下,既然网上找不到办法,那么万能的购物网站必然什么都可以买到,当然我买这个读卡器并不只考虑价格,因为我非常想知道秘钥到底是什么,因此我特意看中可不可以通过软件看到扇区数据,那些仅能读卡复制卡的手持终端必然是排除在外的。
在选购的时候 ,由于我经常问客服可不可以看扇区数据, 可不可以修改扇区数据,以及他们的破解方式是暴力破解还是算法破解,导致客服都很抵触我,认为我是想修改什么储值卡。徒增了不少无效沟通。
最后,我还通过一些测评视频,和评论区的买家分享的图片,选购了一款几十元的读卡器。它既能连接电脑又能连接手机,通过电脑客户端软件读写,也可以通过手机软件读写。
收到读卡器后,我便安装了电脑客户端控制软件,开始破解我的门禁卡,破解了半个多小时依旧没有效果。为此我询问了技术客服,他建议我用手机端APP连接读卡器在破解,果然,仅用来十几秒,它的算法功能便读取了全部扇区的数据,我也如愿看到了加密扇区的内容和密码。
因为我买的时候,这个产品表明是有写手机和手环功能,当我试图把数据写入手机时,还是发生了写IC卡失败。此时我还不知道原因是什么。我只能再次寻求技术指导。
技术要走了我的门禁卡数据文件,又要走了我的手机模拟的空白卡数据文件。最后重新给我做了一个数据文件发给我,这个做的数据文件果真成功的写入了我的手机,在电梯里也成功使用。
我尝试问技术这个文件数据是怎么做的,为什么要做数据,他仅告诉我做这个的软件需要花钱,其他一句也没有多说。
6 不求人循迹探索,要自主解析数据
7 假软件时常崩溃,找规律自写程序
8 无卡自由终圆梦,遵守底线有始终
更新中
相关文章:

RFID射频卡写入手机NFC心路小记
声明: 本文仅是作者学习探索的心里路程日记,如果您看完以后,从中获得了一些知识,作者不胜荣幸。科技是一把双刃剑,利用好了,可以方便生活,利用不当也肯能扰乱公共管理秩序,造成不必要…...

【C++】STL 模拟实现之 list
文章目录一、list 的常用接口及其使用1、list 一般接口2、list 特殊接口3、list 排序的性能分析二、list 迭代器的实现1、迭代器的分类2、list 迭代器失效问题3、list 迭代器源码分析4、list 迭代器模拟实现4.1 普通迭代器4.2 const 迭代器4.3 完整版迭代器三、list 的模拟实现…...
20230228----重返学习-数组-引用数据类型的转换-基础调试用方法-对象检测-各数据转布尔值及相等运算符-条件语句-循环语句
day-017-seventeen-20230228-数组-引用数据类型的转换-基础调试用方法-对象检测-各数据转布尔值及相等运算符-条件语句-循环语句 数组 字面量表示法 [数组成员0,数组成员1,数组成员2]用中括号语法来取值 var ary [5,6,7] console.log("ary[0]--->", ary[0])数组…...
apscheduler 定时任务框架
Apscheduler 介绍 四大组件 triggers:触发器,用于设定触发任务的条件job stores:作业存储器,用于存放任务,可以存放在数据库或内存,默认内存executors:执行器,用于执行任务&#x…...

Softing OPC Tunnel——绕过DCOM配置实现OPC Classic广域网通信
一 摘要 Softing OPC Tunnel是dataFEED OPC Suite的一个组件,可避免跨设备OPC Classic通信中出现的DCOM配置问题,同时可保证跨网络数据交换的高性能和可靠性。OPC Tunnel内部集成的存储转发功能,可在连接中断时缓存数据,并在重新…...

Java的运算操作
个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【JavaSE_primary】 文章目录算术运算符增量运算符注意自增自减运算符关系运算符逻辑运算符逻辑与&&逻辑或||逻辑非!…...

基于OBD系统的量产车评估测试(PVE)
在轻型汽车污染物排放限值及测量方法(中国第六阶段)中,除了对汽车尾气排放等制定了更为严格的限制之外,也在OBD系统认证项目中增加了新的要求——量产车评估(Production Vehicle Evaluation)测试。该测试由…...

【蓝桥杯集训10】Tire树 字典树 最大异或对专题(3 / 3)
目录 字典树模板 1、插入操作 2、查询操作 143. 最大异或对 - trie 二进制 3485. 最大异或和 - 前缀和Trie滑动窗口 字典树模板 活动 - AcWing 字典树:高效存储和查找字符串集合的数据结构 son[节点1地址][值]节点2地址 —— 节点1的子节点为节点2cnt[节点地…...

docker部署zabbix6.2.7+grafana
目录 1、下载docker 2、下载相关镜像文件 3、创建一个供zabbix系统使用的网络环境 4、创建一个供mysql数据库存放文件的目录 5、启动mysql容器 6、为zabbix-server创建一个持久卷 7、启动zabbix-server容器 8、创建语言存放目录 9、启动zabbix-web容器 10、启动zabbix…...

【Java开发】JUC基础 04:Synchronized、死锁、Lock锁
1 概念介绍并发:同一个对象被多个线程同时操作📌 线程同步现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队…...

离散数学---期末复习知识点
一、 数理逻辑 [复习知识点] 1、命题与联结词(否定¬、析取∨、合取∧、蕴涵→、等价↔),命题(非真既假的陈述句),复合命题(由简单命题通过联结词联结而成的命题) 2、命题公式与赋值(成真、成假)&#x…...

在线安装ESP32和ESP8266 Arduino开发环境
esp32和esp8266都是乐鑫科技开发的单片机产品,esp8266价格便宜开发板只需要十多块钱就可以买到,而esp32是esp8266的升级版本,比esp8266的功能和性能更强大,开发板价格大约二十多元就可以买到。 使用Arduino开发esp32和esp8266需要…...

【Python实战】激情澎湃,2023极品劲爆舞曲震撼全场,爬虫一键采集DJ大串烧,一曲醉人女声DJ舞曲,人人都听醉~(排行榜采集,妙啊~)
导语 哈喽!大家好。我是木木子吖~今天给大家带来爬虫的内容哈。 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 今天教大家Python爬虫实战一键采集大家喜欢的DJ舞曲哦! …...

[SSD综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?
版权声明:付费作品,未经许可,不可转载前言SSD (Solid State Drive),即固态硬盘,通常是一种以半导体闪存(NAND Flash)作为介质的存储设备。SSD 以半导体作为介质存储数据&…...

SAP Insurance Analyzer
SAP Insurance Analyzer 是一款用于保险公司财务和风险管理的软件。SAP Insurance analyzer 支持基于 IFRS 17 或 Solvency II 的保险合同估值和计算要求。SAP Insurance Analyzer 于 2013 年 5 月推出,为源数据和结果数据集成了一个预配置的保险数据模型。 源数据…...

自动化测试 ——自动卸载软件
在平常的测试工作中,经常要安装软件,卸载软件, 即繁琐又累。 安装和卸载完全可以做成自动化。 安装软件我们可以通过自动化框架,自动点击Next,来自动安装。 卸载软件我们可以通过msiexec命令行工具自动化卸载软件 用msiexec 命令来卸载软件 …...

05 封装
在对 context 的封装中,我们只是将 request、response 结构直接放入 context 结构体中,对应的方法并没有很好的封装。 函数封装并不是一件很简单、很随意的事情。相反,如何封装出易用、可读性高的函数是非常需要精心考量的,框架中…...
clean
clean code 记得以前写过这题,写的乱七八糟,分析来分析去。 后悔应该早点写代码,leetcode大一就该刷了。 https://leetcode.cn/problems/plus-one/submissions/ class Solution { public:vector<int> plusOne(vector<int>&…...

佛科院计算机软件技术基础——线性表
一、基础知识了解:结构体的理解:我们知道整型是由1位符号位和15位数值位组成,而就可以把结构体理解为我们定义的数据类型,如:typedef struct {int data[2]; //存储顺序表中的元素int len; …...
linux下终端操作mysql数据库
目录 一.检查mysql是否安装 1. 查看文件安装路径 2. 查询运行文件所在路径(文件夹地址) 二.登录mysql 三.列出mysql全部用户 四.常用指令 1.查看全部数据库 2.选择数据库 …...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...