逆向笔记---160CrackMe之002(AfKayAs)

上一篇:逆向笔记---160CrackMe之001(Acid Burn)



AfKayAs
0x01 环境与工具
系统:吾爱破解XPSP2
工具:PEIDODICE版本)



0x02 程序概览


程序界面很简单,只需输入用户名和序列号即可。

0x03 暴破流程
ODF3载入程序,运行。输入任意的用户名/序列号,如:”123123/234234”,弹出错误窗口。F12暂停,ALT +F9返回用户领空,然后点击确定,来到下图所示位置:

紧邻上方的call应该是调用MessageBox弹出提示框,继续往上翻代码,找到如下跳转:

这个跳转是跳到错误窗口。而且从下面的注释可以看出,紧邻的代码应该是弹出爆破成功的窗口。所以把jeshort 004025E5NOP填充,并保存,爆破成功:









0x04 算法部分
大致思路如下:猜测输入随机用户名/注册码后,程序会生成一个正确的注册码然后与我们输入的进行比对,所以只要找到对应的生成码(这个程序中是形如 “AKA-XXXXXX”这样的字符串),然后尝试输入,如果可通过测试,则在生成的注册码上方寻找附近的call,最后逐个F7进行分析。

当然在这里,很多call都是调用的DLL,比如0040243F那里的call,进去后发现有一个主要的循环,是将EAX的值反复除以0x0A,然后得出的余数(存放在EDX)加上30,很明显是将一个数字转换为字符串。继续向上查看,可以发现这个算法不是很复杂,主要部分如下图:

首先获取用户名长度,然后用这个长度乘以0x17CFB,得出的结果在加上一个参数,这个参数是用户名第一个字符对应的ASCII码。

最后,得出的结果前面连接上字符串”AKA-”就得出最终注册码。

C语言代码如下:



THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
管埋员的头像-小北的自留地

昵称

取消
昵称