首页
社区
课程
招聘
[原创]逆向之小程序算法分析
发表于: 2018-3-9 00:30 6638

[原创]逆向之小程序算法分析

2018-3-9 00:30
6638

5ecurity团队(5ecurity.cn)成员 yx(yx@5ecurity.cn)原创发布


逆向是个技术活,不是一朝一夕就能学会的,我在学习过程中,发现一个挺有意思的小程序,单纯爆破是很简单的,破解手法也算不上高明,不过其中的设计算法的人倒是挺有意思,各种弯弯绕,只是自己在学习过程中的一些小心得,各位大佬不喜勿喷。。。能力有限,如有错误或捷径,敬请指正。

程序比较简单,不需要脱壳,分析的工具用的是OD。
现在分析这个叫做Acid什么的,打开后这个样子。点击最左边的,其他的没有什么用,点击后输入账号和序列号,提示错误,然后打开OD,分析。

搜素关键字,在这可能用搜索ASCLL搜不到,没事用智能搜索就可以了,找到后,找关键的代码,寻找关键跳,直接跳过判断就可以破解了,不过意义不在爆破,是对于这个程序算法的分析。
其中包含两个关键跳:一个判断长度,一个判断正误
长度判断的话,是在第一个错误点附近寻找cmp字符,cmp eax,0x4,然后需要注意看跳转的条件,jge,大于等于则跳转,所以只要输入的用户名大于4就可跳过判断。


分析算法的时候,首先要找到关键代码,当然,分析的时候要有逻辑性,不要乱来,首先在第一个跳转比较的是什么?长度,那么,他会在比较正确答案之前还是之后比较长度,当然是前之了,长度不对还看什么正误,然后继续,看跳转之后的代码。

看到字的输入的admin了吧,说明基本方向正确,继续喽
 
这是什么,取第一位,然后往下进行乘运算,继续。

这个add算法后的结果的数字先记下,然后继续你会发现在这个数字前后加了cw-和-cracked,奇怪了吧,不着急,继续。

这里你会看到组合后的结果,上面也会发现自己输入的12345


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 1
支持
分享
最新回复 (1)
游客
登录 | 注册 方可回帖
返回