开启手机NFC功能,水卡放在手机后面,一般多为背面正中,主要可以通过无线充电器接触部位判断。(不要带手机壳等隔绝物,否则容易丢失信号)
进入应用,界面如下图:
主要用左上角:“读标签” “写标签” “编辑转存文件” 三个功能
1、首先写入读取的密钥
由图1可知,其实也可以把所有的密钥写入文件中,单读取会非常耗费时间,他回一个一个去尝试。
点击右边“编辑/增加密钥文件”--选择默认的文件--点击打开密钥文件--随便在一个密钥后面--回车另起一行--写入水卡密钥--保存
2、读标签
主界面--点击“读标签”-选择默认密钥文件--点击读取--等待。。。。。。。。。--读取成功
截屏记录下现在的所有分区数据
(并且右上方可以选择保存现在的分区数据,避免后面改错,号可以恢复初始数据)
3、确定水卡分区
水卡16个分区,不同分区保存不同数据,图书馆信息或者身份信息等,所以需要判别哪个分区是水卡数据。
去刷下水卡,再如第2步,读取数据,查看分区是哪个数据变化了。
下图可以看到扇区7是变化扇区,其中扇区6、8、11都是00000,说明未储存数据。
三、破解算法
可以发现扇区7的三行数据,1、2行完全相同。
第三行会改变,我之前尝试发现的规律有:
第一、二行 为实际剩余金额,第三行 为机器充值金额。
大部分卡,前四数字解码规律为:倒置两位数--进行16制转换(下载个16进制计算器就行)
eg:如上图数据,三行前4个数值分别为
58 00 ->00 58 (16进制)->88(10进制)->0.88(金额)
58 00->00 58 (16进制)->88(10进制)
64 00->00 64 (16进制)->100(10进制)->1.00(金额)
可看出重了1块,剩余0.88元。
而后面完整的就需要慢慢破解了:
58 00 00 00 03 00 00 00 00 00 00 00 00 00 46 17
一般可以知道很多00没用,多刷几次水卡得到多点数据,也可以发现这个规律。
后后面03 和46 17的含义就需要破解,
网上简单的规则有:后面数值先16转10进制(这是肯定的),再通过加减计算,与金额有一个固定差值。
或者更简单的,00 00 00

