此乃第三个破解方法,简单算法过验证
看到刚刚的同学发的爆破工具,尝试着分析下。得出一个很简单的注册码。分享下。。很简单原帖地址:http://www.52pojie.cn/thread-596279-1-1.html
源文件链接http://www.52pojie.cn/thread-595258-1-1.html
这里不做爆破过程,只讲解密码生成过程。
直接到验证部分,这里不做分析了,,不懂的,可以看上面同学的文章。。
004050BE > \6A 14 push 0x14 ; /Count = 14 (20.); Case 3EA of switch 00405078
004050C0 .8D4424 10 lea eax,dword ptr ss: ; |
004050C4 .50 push eax ; |Buffer
004050C5 .68 E9030000 push 0x3E9 ; |ControlID = 3E9 (1001.)
004050CA .53 push ebx ; |hWnd
004050CB .FF15 3C124100 call dword ptr ds:[<&USER32.GetDlgIte>; \GetDlgItemTextA
004050D1 .807C24 0C 41cmp byte ptr ss:,0x41 ;比较第一字符是不是A
004050D6 .0F85 13010000 jnz 004051EF
004050DC .8A4424 0D mov al,byte ptr ss:
004050E0 .3C 41 cmp al,0x41 ;比较第二个字符是不是A,值应该小于A的ASCII码
004050E2 .0F8D 07010000 jge 004051EF
004050E8 .8A4C24 0E mov cl,byte ptr ss:
004050EC .3AC1 cmp al,cl ;比较第三个字符是不是小于第二个字符
004050EE .0F8D FB000000 jge 004051EF
004050F4 .3A4C24 0F cmp cl,byte ptr ss: ;判断第四个字符是不是大于第三个字符
004050F8 .0F8E F1000000 jle 004051EF
004050FE .56 push esi
004050FF .57 push edi
算法结果:
第一位:ASCII码 41 转换>> A固定
第二位:不能是A,其他随意
第三位:值应该大于第二位的值
第四位:值应该小于第三位的值
结果:A232 A343 A454 均可注册成功。。
特别简单。。喜欢学习算法的可以研究下。。
如果帮到你了。麻烦给点热心值。。谢谢。。
收藏备用。谢谢 算法结果:
第一位:ASCII码 41 转换>> A固定
第二位:不能是A,其他随意
第三位:值应该大于第二位的值
第四位:值应该小于第三位的值
结果:A232 A343 A454 均可注册成功。。
特别简单。。喜欢学习算法的可以研究下。。
如果帮到你了。麻烦给点热心值。。谢谢。。
不错不错 学习了 来学习了。谢谢分享 虽然看不懂,点个赞 厉害的很,已收听 本帖最后由 名字啪啪 于 2017-4-6 12:01 编辑
看错了。。。。 不错的j解析!~~顶下!~ 除了不认识英语,其他都喜欢 都是高手一下子弄了三个方法,我前天还在里面绕了半天。