首页
社区
课程
招聘
[推荐]求助大神,帮忙分析一下水卡算法,如图
2018-4-12 21:54 6618

[推荐]求助大神,帮忙分析一下水卡算法,如图

2018-4-12 21:54
6618
余额0   

00000000F103C5112000F103B7005AEF

余额5.36

18020000170394112000170386005AF3

余额5.34

16020000180395112000180387005AF5

找了好几天,头都疼了,帮帮忙吧


[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

收藏
免费 1
打赏
分享
最新回复 (19)
雪    币: 6682
活跃值: (1156)
能力值: ( LV5,RANK:158 )
在线值:
发帖
回帖
粉丝
Explorerl 2018-4-13 08:16
2
0

偏移地址0x150处的四个字节应该是金额,数据按照littel endian排列,所以:

0x00000000 -> 0x00000000 -> 0分   -> 0元
0x18020000 -> 0x00000218 -> 536分 -> 5.36元
0x16020000 -> 0x00000216 -> 534分 -> 5.34元

其他字节应该有一些是校验信息

雪    币: 6431
活跃值: (3638)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
厉害了我的谁 2018-4-13 11:58
3
0
数据太少了。

第 1 位到第 4 位  =  余额
18020000  =  0x00000218
                    =  536

第 16 位  =  第 1 位到第 15 位的和
0xF3  =  0x18  +  0x02  +  0x00  +  0x00  +  0x17  +  0x03  +  0x94  +  0x11  +  0x20  +  0x00  +  0x17  +  0x03  +  0×86  +  0x00  +0x5A

第 5,7,11,13 位因数据太少无法确定。
最后于 2018-4-13 12:01 被厉害了我的谁编辑 ,原因:
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-13 21:35
4
0
厉害了我的谁 数据太少了。第 1 位到第 4 位  =  余额18020000  =  0x00000218  &n ...
继续补上

5.32 
18020000170394112000170386005AF3
5.30
16020000180395112000180387005AF5
5.28
14020000190396112000190388005AF7
最后于 2018-4-13 21:36 被番茄炒蛋h编辑 ,原因: 美观一点
雪    币: 6431
活跃值: (3638)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
厉害了我的谁 2018-4-13 23:13
5
0
似乎每刷卡一次第  5,7,11,13  位的值就会加  1
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-14 10:03
6
0
厉害了我的谁 似乎每刷卡一次第 5,7,11,13 位的值就会加 1
应该是刷卡次数,也有可能是终端号
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-14 15:20
7
0
厉害了我的谁 数据太少了。第 1 位到第 4 位  =  余额18020000  =  0x00000218  &n ...
第十六位算法不对吧,0×94+0×86都等于11A了
雪    币: 6431
活跃值: (3638)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
厉害了我的谁 2018-4-14 15:41
8
0
你把第1到15位加完就明白了

0x18 + 0x02 + 0x00 + 0x00 + 0x17 + 0x03 + 0x94 + 0x11 + 0x20 + 0x00 + 0x17 + 0x03 + 0x86 + 0x00 + 0x5A
= 0x01F3 (取低位 byte)
= 0xF3
最后于 2018-4-14 16:13 被厉害了我的谁编辑 ,原因:
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-14 16:28
9
0
刚刚算了一遍,你是对的
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-14 16:28
10
0
厉害了我的谁 你把第1到15位加完就明白了0x18 + 0x02 + 0x00 + 0x00 + 0x17 + 0x03 + 0x94 + 0x11 + 0x20 + 0x00 + 0x17 + 0x03 + 0x ...
刚刚算了一遍,你是对的
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-14 16:29
11
0
其他字节算法的呢
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-14 16:29
12
0
厉害了我的谁 你把第1到15位加完就明白了0x18 + 0x02 + 0x00 + 0x00 + 0x17 + 0x03 + 0x94 + 0x11 + 0x20 + 0x00 + 0x17 + 0x03 + 0x ...
其他字节算法的呢
雪    币: 6431
活跃值: (3638)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
厉害了我的谁 2018-4-14 16:37
13
0
没有啦,其他位的值都没变啊。
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-14 16:46
14
0
厉害了我的谁 没有啦,其他位的值都没变啊。
第05,07,11,13位的值.........不可能
雪    币: 6431
活跃值: (3638)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
厉害了我的谁 2018-4-14 16:54
15
0
之前说过了,每刷卡一次加  1
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
花花小调 2018-4-17 00:00
16
0
3E  08  00  00  19  03  96  11  20  00  19  03  88  00  5A  27
试试这个  10块的话我的猜想就是正确的
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-18 17:37
17
0
花花小调 3E 08 00 00 19 03 96 11 20 00 19 03 88 00 5A 27 试试这个 10块的话我的猜想就是正确的
肯定不对,金额不知20多块了
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
花花小调 2018-4-19 00:24
18
0
番茄炒蛋h 肯定不对,金额不知20多块了
尴尬,算钱的时候忘记倒置了。3e08是1000  083e是2110        但算法确实算出来了    你这个非常简单
雪    币: 245
活跃值: (444)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
番茄炒蛋h 2018-4-19 17:44
19
0
花花小调 尴尬,算钱的时候忘记倒置了。3e08是1000 083e是2110 但算法确实算出来了 你这个非常简单
算法简单?分析一下,我分析了好多次,发现刷卡次数有4个
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
花花小调 2018-4-20 00:18
20
0
番茄炒蛋h 算法简单?分析一下,我分析了好多次,发现刷卡次数有4个
你看的算法多了就知道了,你那四位只是单纯的根据刷卡次数变化,没有添加异或算法
所以
前四位金钱倒置
后两位前面取和再取低位
其他随意写
有可能的话帮忙研究研究怎么突破FF*FF的限制,这个不是多懂
游客
登录 | 注册 方可回帖
返回