当前位置: 当前位置:首页 > 热点 > 水卡破解充值方法正文

水卡破解充值方法

作者:焦点 来源:焦点 浏览: 【大 中 小】 发布时间:2026-10-17 06:23:00 评论数:

我拆过三张水卡,破解不是充值偷的,是破解捡的。准确说,充值是破解宿舍楼洗衣机旁边地上捡的,卡面上印着“XX大学直饮水”,充值余额显示18块7。破解失主没贴电话,充值我寻思着,破解与其交到值班室吃灰,充值不如研究研究这玩意儿到底怎么个原理。破解

拆开外壳,充值里面就三样东西:一块硬币大小的破解线圈,一个指甲盖大的充值芯片,外加一片薄薄的破解塑料基板。线圈是给芯片供电的——读卡器靠射频感应,隔空几厘米就能给芯片“喂”能量。芯片型号糊了,但引脚布局我认得,是常见的NXP Mifare Classic系列,老熟人。这系列芯片有个臭名昭著的漏洞,叫“嵌套认证”,当年门禁卡、公交卡全靠它撑场面,后来被两个德国人逆向得底朝天,密钥算法都公开了。

关键在扇区。Mifare Classic有16个扇区,每个扇区4个块,每个块16字节。水卡余额一般存在某几个固定扇区里,格式通常是“金额数值”加“校验码”。校验码不是简单的累加,有的是取反,有的是CRC,有的干脆就是同一数值重复三遍——厂家图省事,防君子不防小人。

我手头没专业设备,用的是一台旧安卓手机,装了NFC读卡软件。把卡贴到手机背面,软件扫描出全部扇区数据。第12扇区第0块,十六进制写着“B4 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00”。B4 01,低字节在前,换算成十进制就是436。余额18块7,按角计是187,不对。再看第8扇区,写着“BB 00 00 00”,187的十六进制是BB,这个才对。水费按“角”存,整数部分另存一个扇区,这设定挺土,但很典型。

改余额没那么玄乎。把“BB 00 00 00”改成“FF FF 00 00”,理论上余额变成6553块5。但直接写回卡里没用——刷卡时机器会重新计算校验码,对不上就报警。得找到校验算法。我试了三次,前两次写进去的卡放到水机上“嘀”一声,屏幕显示“卡错误”。第三次学聪明了,把原卡数据整个备份,然后只改金额字节,其他全不动。结果水机居然认了,屏幕跳出“余额6553.5元”。

为什么能成?因为这破系统压根没做双向认证。读卡器只读卡里的静态数据,不向卡里写任何动态信息。换句话说,卡是“死”的,数据全在芯片里躺着,机器只是被动地看一眼。我改完金额,机器读到的就是新数字,它信了。

后来我拿这张卡去接水,热水阀打开,水流哗哗的,屏幕上的数字从6553.5往下跳。接了满满一壶,扣了3毛钱,余额变成6553.2。那一刻我忽然觉得没意思——这卡能改,但改完它还是那张卡,水还是那个水,我占的这点便宜,说白了就是跟一个连加密都懒得做好的系统较劲。

再后来我把卡贴回洗衣机旁边,用马克笔写了张纸条:“捡到一张水卡,余额已改,请失主联系我。”没人联系我。那张卡后来被我扔了,因为宿管阿姨说,水卡系统升级了,老卡全部作废。你看,连破解都赶不上人家更新换代的速度。

这事让我明白一个理儿:所谓破解,很多时候不是技术多高明,而是系统设计者压根没把你当对手。他们赌的是大多数人不会拆卡、不会读扇区、不会改十六进制。这赌注大部分时候赢,偶尔输一次,也无所谓——反正水卡成本几毛钱,漏洞补不补,看心情。