【教程】如何有效搞定水卡
[滑稽][滑稽]进来坐注●水卡要为IC卡且不联网
初来乍到,也是对水卡这一类感兴趣
昨晚帮我的一个朋友修改水卡
也是闲的才打算出个教学[滑稽]
步入正题
我网友发给我的水卡金额如下
10270000EFD8FFFF1027000011EE11EE
10270000EFD8FFFF1027000012ED12ED
这两条都有变化,所以就都发给我了
经过分析,无论怎么刷
其中的0000和FFFF还有●最后七位是不变的
所以我们把他们去掉
就得到了如下数值
★1027EFD81027
★1027EFD81027
得到以上数据的顺序:
①知道你卡里的金额,用读卡器或者软件扫描你的IC卡记录
②消费或者充值使你的IC卡里面的金额变化
③再次扫描此卡,两次扫描结果的数值不一样的就记录下来【一样的都没啥用】
一个正常的水卡肯定是对金额有所加密,所以我们需要用各种方式来推算出水卡计算金额的规律,比如上面我给的第一条数值是100元的卡,也就是说十进制是10000,给他转换成16禁止就是2710,然后我们对比之后发现并没有一样的数值,这有些同学就开始懵逼了,有些脑子好使的学生就会发现,牛逼的来了
★我们10000的十六进制是2710,我说过什么,前面我说了《一个正常的水卡肯定会把金额加密》
所以啊我们仔细一看,上面数值的1027只是2710的顺序有所变化而且还非常简单[冷][冷]
那么我们就知道了上面数值的四个1027都是指示金额的
那么中间那两组不知道是什么的数值是干什么的呢,肯定是验证啊,不过怎么得出来的呢,诶我也不知道,不过我们可以计算啊,因为我说过水卡都会加密的嘛,别担心让我们来算算,水卡的效验方式有很多种,比如异或:第三位和第四位是金额,第二位是第三位, 第四位, 第五位的和,第六位与第十六位是第二位取反,第一位是异或第二位到第十五位的值。
很明显,这种效验根本就不适合这种数值。
我们用到的方法是什么呢,以这个数值为例
★我们把数值里面的1027倒过来变成2710也就是10000的十六进制数
★然后再把2710给转换成2进制于是我们就得到了1000000100111一大串
★我们把1换成0,把0换成1,于是就变成了0111111011000
★但是我们发现把上面这一大串转成16进制是FD8而不是EFD8
★到这里我们就要有一种假设,假设他的效验位于前面的数是0的时候会0换为E
★我们把金额改成50的来证实这个假设
★已知50.00十进制为5000转换为16进制为1388
★所以我们把整条数值的1027全部替换为8813
★然后我们在验证,将8813转为二进制1000100000010011
★再将二进制数0变为1,1变为0,0111011111101100,然后我们把这一大串二进制转换为16进制
★于是我们就得到了77EC(当然这个E不是替换的因为他不位于验证数的前面)
然后我们把整条数值就替换成了
●8813000077ECFFFF8813000011EE11EE
●8813000077ECFFFF8813000012ED12ED
接下来把数值导入IC卡中,刷卡消费一气呵成
楼主由于相册误删把截图照片全搞没了所以就没什么照片[鄙视][鄙视],然后呢这个帖子是我纯手打的,搬运之前先经过我的允许哈
http://cdn.u1.huluxia.com/g4/M03/B8/2C/rBAAdmI8bpuAdjP3AABXTc5htp4303.png 啥玩应呀 路过的帮顶 鄙视楼下的顶帖没我快,哈哈
页:
[1]