声明:
- 本文仅是作者学习探索的心里路程日记,如果您看完以后,从中获得了一些知识,作者不胜荣幸。
- 科技是一把双刃剑,利用好了,可以方便生活,利用不当也肯能扰乱公共管理秩序,造成不必要的麻烦。
- 文章中的方法仍需要经济支出,借助他人工具完成,如读者想全凭个人之力从零制作自己的读卡解码设备,可至此结束。
加粗样式
目录
- 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的探索信息,不能再用手机干别的事情。因此这也是一个枯燥的过程。
我大概用来两天的时间才完成了这十多个秘钥的遍历,没一个对的。评论中到是有个别网友试验了五千左右就成功的,各位也不妨一试。
5 购物网再显神通,读卡器终破密码
6 不求人循迹探索,要自主解析数据
7 假软件时常崩溃,找规律自写程序
8 无卡自由终圆梦,遵守底线有始终
更新中