2023.5更新:
技术日新月异啊,现在模拟0扇区已经是一个公开的技术了
小米手环8已经支持手机(包括iPhone)控制手环自动模拟加密卡卡号啦,对于开门禁的需求,仅模拟全加密卡的卡号就够用啦,再也不需要下面繁琐步骤diy啦
原文写于2021.3:
模拟加密卡想法由来已久,但由于网络上方法步骤参差不齐,看了很多很多资料最近才终于弄清楚了,现进行一个整理,并试图写一个教程。
注意!
本教程仅教学模拟相关知识与如何使用手环模拟全加密校园卡,仅供个人学习,请勿修改数据金额,由此带来的任何非法后果均由个人承担。
本教程只涉及0扇区uid模拟教学,不涉及金额等其他信息修改教学
文章目录
- 材料准备
- 模拟原理
- 模拟教程
- step0:环境准备
- step1: 破解加密卡信息(全加密卡)
- step2:制作空白卡
- step3:模拟
- step4:写原卡信息,激活手环
- 其他模拟校园卡的方式
- 1.stm32/arduino+RC522
- 2.小米手机直接模拟
- 软件下载
- 参考资料
材料准备
硬件:pn532、USB转串口、4根杜邦线、UID卡(注意本教程不适用于cuid/ufuid卡!)、你要模拟的手环(我的是华为荣耀手环5)+连接手环的手机/含有nfc的手机
软件:蛐蛐、MifareOneTool、驱动(文末附下载链接)
模拟原理
在学习过程中,我看了许多教程,包括淘宝资料、博客、b站视频。由于每个步骤又有多种实现方式,因此容易把初学小白弄得云里雾里,因此在这里首先说明模拟加密卡的原理。
- 手环不能直接模拟加密卡,因为加密卡除了扇区0(存uid的扇区)还含有其他信息
- 为了让手环可以模拟,我们需要制作一张只有扇区0(uid同原加密卡相同)含有信息的空白UID卡
- 之所以使用UID卡,是因为它可以使用后门特殊指令,达到对uid(卡号)进行修改的目的
这在软件写uid这一步中会自动执行
#5.写0块后门指令1(7bit模式)
send:40
recv:0A
#6.写0块后门指令2
send:43
recv:0A
- 为了制作这张满足需求的空白卡,我们要先读出原加密卡的0扇区信息,这涉及到使用蛐蛐进行破解(全加密卡)
- 用手机控制手环,模拟空白卡后的步骤,是为了将原加密卡信息(除了0块之外的63块信息)写入手环中
- 一些名称:s50卡=加密为sak08的卡=常见的校园卡=MIFARE Classic 1K
模拟教程
step0:环境准备
你需要使用4根杜邦线将usb转串口与pn532连接,当然也有一些商家是直接连接好的
GND ---- GND
VCC ---- +5V/VCC
TXD ---- RXD
RXD ---- TXD
如果你没有安装过驱动,还需要安装usb转串口的驱动:下方软件资料包中有,也可百度搜索ch340驱动下载安装
step1: 破解加密卡信息(全加密卡)
首先我们来测试环境是否搭好以及卡是否是全加密卡
打开MifareOneTool,点击检测连接,应该出现以下信息
然后将校园卡放在pn532上,点击扫描卡片,这一步可以帮助我们了解卡片的信息,如果是sak08则大概率可以复制
然后点击一键解原卡,如果是全加密卡,你将会看到以下内容:
不用着急,接下来我们就开始破解它!
关闭MifareOneTool,打开蛐蛐,仍然将原卡放置在pn532上,点击右上角:全加密卡破解秘钥
然后将开始进行嗅探破解,耐心等待,这个过程需要30-60分钟的时间,当右侧出现3个以上的相同秘钥时,则很有可能是正确的。
以下是我放着卡破解出去吃了个烧烤再回来看到的结果:
那么右侧出现的就很有可能是秘钥,我们先将其保存好,然后复制黏贴到上方已知秘钥中,再点击使用秘钥读取
读取也需要30分钟左右的时间,读取完成后显示如下:
原卡信息将保存为蛐蛐同目录下的key.dump
,为了防止被覆盖,强烈建议你复制出来保存好!我们复制出来把它命名为原卡.dump
step2:制作空白卡
关闭蛐蛐,再次打开MifareOneTool,如下依次点击高级操作模式——hex编辑器——文件——打开,打开前面保存的原卡.dump
上下切换扇区以显示信息
我们将扇区0的第0块信息复制出来,然后点击文件——新建——先点击一下扇区1然后点击扇区0(这一步的目的是初始化新文件)——再将信息黏贴到新文件的扇区0的第0块——点击修改扇区——然后另存为空白卡.dump
,注意是另存为!是dump文件!接下来,我们将空白的UID卡放到pn532上,选择写UID卡,打开空白卡.dump
文件,将其写入uid卡中,达到写入卡号的目的。
当如下显示时,即代表写入成功:
step3:模拟
将手环连接手机,选择模拟卡功能,模拟我们刚刚写好的UID卡(注意是模拟,不是创建空白卡!)
ps:通常加空白卡功能只有安卓手机的APP里面才有,苹果手机里面被阉割了找不到,记得用安卓手机哦,我使用的是华为运动健康APP。
等待一段时间后模拟成功即可
step4:写原卡信息,激活手环
在step3中我们模拟了0扇区0块,相当于已经写入了uid,现在还需要写入另外的63块信息(加密数据),使得手环完全模拟原卡
我们打开蛐蛐,把uid卡放在pn532上,点击“使用默认密钥读取”
这一步的目的是使得与蛐蛐同目录下的key.dump文件中的秘钥(原卡的秘钥)被蛐蛐软件识别并加载,这样知道了秘钥才可以等下写入手环加密卡数据
然后拿走uid卡,放上手环,浏览文件选择原卡.dump
,点击写入,当看到下面的信息时,就说明写入成功了!
如果是其他信息,则说明写失败,记得多试几次,或者从手机端删除此卡,再重复上述步骤。
接下来你就可以快乐地去刷手环了!
其他模拟校园卡的方式
1.stm32/arduino+RC522
该方法需要在stm32上建立工程,使用rc522的库函数向522发送指令,实现修改白卡uid的目的。我们在博客上仍旧可以搜索到很多资料,这种方法的自由度大,适合理解原理和高级diy玩家。见:
522长这样
2.小米手机直接模拟
据舍友测试,MIUI12下带有NFC功能的小米手机可以直接模拟全加密卡了,当时我弄了一个晚上还没模拟出来,而舍友直接模拟就解决了,看得我那叫一个气啊……
注意,这是手机,如果想弄到手环上,还是按上面的步骤来吧
软件下载
我把需要用到的软件打包上传了,点击这里即可免费下载,不需要积分