切换到宽版
  • 33046阅读
  • 450回复

[其他]『栗子DIY』技术讨论,破解学校水卡,实现免费喝水 [复制链接]

上一主题 下一主题
离线毛栗子
 

发帖
4936
M币
19774
专家
44
粉丝
264
— 本帖被 發騷友 设置为精华,作者+3000M币+5专家(2018-05-06) —
警告:本贴只做技术研究与测试,一切不当后果与本人无关,以此牟利需要承担法律责任!
技术贴,谢绝喷子吐槽!

原创技术贴,请勿转载!



网上关于卡的科普并不多,了解它的也不多,最近学到了一些卡的知识,所以我实践一下,把技术和经验分享出来
芯片卡分为IC卡、ID卡和CPU卡,其中可以加密的是后两个
ID卡只有卡号,最多的技术就是模拟和复制
CPU卡型号繁多并且内部有单片机,依靠硬件加密,研究难度较大
而IC卡种类较少,比较经典,研究很有意义


作为一个在学校“闲不住”的人,总想搞点事情,就拿水卡开刀吧!
学校教学楼和宿舍每层都有饮水机,可以接凉水或开水,不像家里的直接可以用,需要刷水卡



这就是读卡器,刷卡出水,抽卡水停,上面有个5位数码管,显示金额
出水一定量时会减0.02元,接一杯水大概不到1毛


我们学校的水卡



当然学校里也有专门冲水卡的地方,一台机器水卡放上面输入数字就可以加进去了。。。。



既然想要搞水卡,就要知道它的工作原理
用手电筒透过卡照,可以看见一个芯片和线圈
这就是大名鼎鼎的M1卡
我们日常生活中,它无处不在,公交卡、饭卡、水卡、考勤卡、会员卡、一部分的门卡······它们都是


M1卡是指菲利浦下属子公司恩智浦出品的芯片缩写,全称为NXP Mifare1系列,符合ISO14443A标准,常用的有S50及S70等等。S50容量1KB,S70容量2KB,其他都一样,最常见的还是S50卡



它的工作方式是读卡器提供能量,卡和读卡器交换数据
运用到了电磁感应原理
射频频率为13.56MHz


卡的操作步骤如下:
首先寻卡,有两种模式,寻找全部和寻找没有休眠的卡
然后是防冲撞,会获得一个4字节的卡号,全球唯一的,并且不能修改,除非是UID卡
接下来是选卡,需要提供一个卡号
完了是验证密码,密码有A、B两个,是6字节的,验证那一个是控制位决定的,默认密码全是FF或00
密码正确就可以进行操作了,操作分别有,读取、写入、减值、加值、复位和休眠




数据结构是这样的:
一共有16个分区,每个分区有4个块,一个块16字节,一共就是1024字节
它的存储并不像EEPROM那样,全部都是数据,里面有一些特殊的结构



特殊之一,0区的0块是不能更改的,前4字节是卡号,后12字节是工厂数据,出厂时已经写入,但是UID卡可以修改


特殊之二,每个分区的第4块是有6字节的密码A,中间间隔4字节的控制位,后面是6字节的密码B,固不能存放普通数据


特殊之三,有一种特殊的数据格式叫做值块,长度是16字节,可以放在任意一个普通的块中,作用是记录数字,可以直接用命令就可以加减,当然也可以和整数互相转换,范围是从0-65536,这是本篇最重要的





密码可以为任意数据,但是没有解密不能读取
控制位可以设置每个块的访问权限,可以做到双加密或分加密



默认就是FF078069
就是块0、1、2的读取、写入、加减值都是密码A
块3出了读取密码外全是密码A,密码不可读取


那么可以用的数据就是1024-1*16*16-16=752字节



——————————我是分割线—————————


下面开始技术操作
需要的硬件是读卡器ACR122U


需要的软件有这些,ACR122U的驱动、M1卡服务程序、HEXEDIT、207 mifare oper



首先安装驱动,选择系统,64位的装X64版


点击Setup.exe安装



一直点下一步


安装成功



最后把卡放在读卡器上


go on
[ 此帖被毛栗子在2018-05-07 18:44重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共43条打赏M币+498专家+2
rallyezhang M币 +20 原創內容 前天 11:32
的结构是什么 M币 +8 優秀文章 05-24
hongo M币 +9 優秀文章,加砖家! 05-17
mmdhj 专家 +1 为了那点M币,你也是拼了。这是黑科技啊,你也敢公开。 05-14
mmdhj M币 +20 为了那点M币,你也是拼了。这是黑科技啊,你也敢公开。 05-14
uest M币 +15 優秀文章 05-13
peter9830129 M币 +8 黑客雏形 05-12
liupengge M币 +20 建议将卡片全部打码,不是部分打码 05-12
2005qq8 M币 +15 很厉害的高中生啊!读卡器多少钱一个? 05-11
denglei M币 +20 学习了路过支持下,希望你交学费杨探索精神! 05-10
离线毛栗子

发帖
4936
M币
19774
专家
44
粉丝
264
只看该作者 1楼 发表于: 05-04
第一步破解并读取水卡里的数据,首先打开M1卡服务程序


选择读卡器,并点击开始破解



看到除了4个区以外都打了对号,因为其他区存在默认密码,只有两个区加密了(如果是全加密就不行了,需要侦测器/卡)
底下还显示卡号


十几分钟后听见读卡器滴~~~的一声,就破解完了,可见全是对号



读卡器上的灯也会变绿


看见一个前面有卡号后面有时间的.dump文件就是卡内的数据,刚好1KB,惊不惊喜。。。。。
文件是二进制格式的,不能直接打开,需要用16进制编辑器打开才能正确解读



打开HEXEDIT把文件拖进去


因为每个块16字节,为了方便数据分析和美观,调整一下每行的字节数



把原来的32改成16


现在我的卡里有100元




现在分析一下卡里的数据

可以看到卡里的数据,卡号是8391664e
0-3分区没有数据,第4、5分区加密,4分区有数据,5分区可能是保留的,密码A和B相同都是fedcba000026(B密码不可读,是程序分析出来的)

前面提到值块,现在研究它的结构,这种结构可以存放一个Uint16的整数,int16也可以,当然金额不需要负数,就是前者
0-3字节和8-11字节是整数的数据,4-7字节数数据的反码,12、14字节是数据存放的位置(分区*4+块),13、15是它的反码
但是整数的排序是倒序,需要字节调换(不是位调换更不是取反)
可见4区的1、2块是一模一样的数据,那么它可能是金额,0块比较特别因该是不动的识别数据



把1块的前4字节倒序,10270000——00002710
转换为10进制,就是10000,哇!太美了,这不是钱的数字吗!?
单位是分,需要换算单位




———————我是分界线———————


可以读取到金额,就一定可以修改金额
打开207 mifare oper(有个小插曲,这里win10不兼容,只好上虚拟机)


选择读卡器,点击初始化,再连接卡,会读出卡号



点击加载密钥,把刚才读取到的密码输入进去


再点击认证,选择4分区A密码



先读取试试


这里成功读取到了数据,A密码没有是软件优化的问题



再写入4分区,只写1、2块,前面都一样的,只是位置数据不同
改成500.00,化成分50000,它的16进制值是c350,倒序后50c3,反码af3c
完后写入



看到这个就是成功了



go on
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共5条打赏M币+60
hongo M币 +9 原創內容 05-17
bazyu M币 +5 二进制写扇区是不是填错了 应该写入扇区1和2块,第三块不写? 05-07
goodanytime M币 +20 認真發帖 05-06
沙漠臭屁虫 M币 +13 謝謝分享 05-06
q版虎斑猫 M币 +13 - 05-05
离线毛栗子

发帖
4936
M币
19774
专家
44
粉丝
264
只看该作者 2楼 发表于: 05-04
写入完成后不妨读取一下验证,如果不退卡密码只需要验证一次


这是成果


最多显示999.99


明显的666


888


哈哈,2333333333




———————我是分界线———————



以下为手机教程,相对于电脑,手机操作就简单得多
首先找一个支持NFC功能的手机,比如小米6、华为P9等等,我这里没有,只有一个火腿肠的古董手机



安装这个软件“MIFARE经典工具”


手机刷卡后会显示卡号


点击读取,选择默认密码,卡要一直靠近手机



4、5分区不能读取,因为没有密码


现在创建一个密码文件


密码输入进去,保存



读卡时选择它


读取成功,软件会自动识别值块,标记位黄色


go on
[ 此帖被毛栗子在2018-05-06 20:49重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共4条打赏M币+27
o759 M币 +1 正在犹豫退不退饭卡呢 05-09
550897307 M币 +5 牛逼 05-09
readonly M币 +8 输入的密码只能靠PC破解才有,对吧? 05-07
q版虎斑猫 M币 +13 - 05-05
离线毛栗子

发帖
4936
M币
19774
专家
44
粉丝
264
只看该作者 3楼 发表于: 05-04
点击菜单 值块是整数


会自动找出并计算整数,10000没毛病



打开 值块编解码
输入整数和位置,分别是11和12
之后拷贝


替换原来的数据



电机写标签


全写入或只第4区都可以



还需要选择密码,卡要靠近手机


读取一下验证成功



之后就可以在饮水机子上实验了


鼓励一下,加个MB
谢谢版主,谢谢坛友






最后再重申一下:
做事要有个度,君子爱财,取之有道!
做事要有个度,君子爱财,取之有道!
做事要有个度,君子爱财,取之有道!
重要的话说三遍
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共67条打赏M币+798专家+9
rallyezhang 专家 +1 原創內容 前天 11:34
rallyezhang M币 +20 原創內容 前天 11:34
tan0307 M币 +8 優秀文章 05-17
hongo M币 +9 精彩回帖 05-17
shr M币 +8 - 05-15
157600 M币 +30 優秀文章 05-14
1347598435 M币 +8 我已经用了好久了,只是没发出来,用的人多了会被和谐23333 05-13
junerjoe M币 +8 原創內容 05-12
2005qq8 M币 +22 厉害啊  楼主这个高中生应该还是用功读书才是王道! 05-11
yi0819 M币 +30 謝謝分享 05-10
离线huick

发帖
599
M币
648
专家
-1
粉丝
14
只看该作者 4楼 发表于: 05-04
完了? 不会这么简单吧
离线毛栗子

发帖
4936
M币
19774
专家
44
粉丝
264
只看该作者 5楼 发表于: 05-04
回 huick 的帖子
huick:完了? 不会这么简单吧 (2018-05-04 10:36) 回 huick 的帖子

当然没完,直播中。。。。。。
离线zhoudongwei

发帖
690
M币
315
专家
3
粉丝
14
只看该作者 6楼 发表于: 05-04
赶上直播了 其实买一个pn532一样用
离线lyw123

发帖
1362
M币
660
专家
7
粉丝
57
只看该作者 7楼 发表于: 05-04
赶紧保存,防止查表。。

发帖
10518
M币
10999
专家
64
粉丝
107
只看该作者 8楼 发表于: 05-04
打热水还收费啊,我们那时都是免费的
离线lisingch

发帖
28103
M币
19771
专家
8
粉丝
67
只看该作者 9楼 发表于: 05-04
楼主技术牛人,用知识喝水
本帖最近打赏记录:共1条打赏M币+1
manzxq M币 +1 学校管理部门有个财务室,财务要做帐物总结的,费用不对会来查找的,数目过大,会找公安处理的。 05-06
快速回复
限80 字节
温馨提示:所有技术区严禁灌水,“沙发”“顶”字样;禁止广告贴;以免被删除
 
上一个 下一个