当前位置: 首页 > news >正文

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 记得以前写过这题&#xff0c;写的乱七八糟&#xff0c;分析来分析去。 后悔应该早点写代码&#xff0c;leetcode大一就该刷了。 https://leetcode.cn/problems/plus-one/submissions/ class Solution { public:vector<int> plusOne(vector<int>&…...

佛科院计算机软件技术基础——线性表

一、基础知识了解&#xff1a;结构体的理解&#xff1a;我们知道整型是由1位符号位和15位数值位组成&#xff0c;而就可以把结构体理解为我们定义的数据类型&#xff0c;如&#xff1a;typedef struct {int data[2]; //存储顺序表中的元素int len; …...

linux下终端操作mysql数据库

目录 一&#xff0e;检查mysql是否安装 1. 查看文件安装路径 2. 查询运行文件所在路径(文件夹地址) 二&#xff0e;登录mysql 三&#xff0e;列出mysql全部用户 四&#xff0e;常用指令 &#xff11;&#xff0e;查看全部数据库 &#xff12;&#xff0e;选择数据库 …...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

Python网页自动化Selenium中文文档

1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API&#xff0c;让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API&#xff0c;你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...