吾爱破解2012CM大赛 -> 易 -> willJ 注册算法分析


有出错提示,但查找参考字符串不可行。

关键跳在0040125F,可爆破。


1、在函数GetDlgItemTextA()下断,F9运行

2、输入验证码11-22-33-44-55后,断在地址00401188

3、单步,程序读取5段验证码,随后就是算法,入口0040124F

4、进入算法,0040149C和004014AA处的两个call,获取时间进行闰年等一些判断,细节没搞太清,怀疑有一部分是烟雾弹

5、F8跳过以上两处call,真正的验证码的生成和判断开始于004014C8

6、验证码为:(year xor 0x7C5)-(month xor 0x2)-(day xor 0x6)-(hour xor 0x5)-(minute xor 0x14)

7、验证码与当前系统时间有关,每分钟对应一个注册码,与用户名无关。


生成验证码算法本身很简单,前面两个call费了不少时间!


总结:单步跟踪时,不要想一次就搞定,采用递进分析。

            可以按照call的层级来,第一次F7第一层的call,再深的层级F8跳过;第二次F7第二层的,依次类推,直到搞清楚!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值