好友
阅读权限35
听众
最后登录1970-1-1
|
看到刚刚的同学发的爆破工具,尝试着分析下。得出一个很简单的注册码。分享下。。很简单
原帖地址:http://www.52pojie.cn/thread-596279-1-1.html
源文件链接http://www.52pojie.cn/thread-595258-1-1.html
这里不做爆破过程,只讲解密码生成过程。
直接到验证部分,这里不做分析了,,不懂的,可以看上面同学的文章。。
[Asm] 纯文本查看 复制代码 004050BE > \6A 14 push 0x14 ; /Count = 14 (20.); Case 3EA of switch 00405078
004050C0 . 8D4424 10 lea eax,dword ptr ss:[esp+0x10] ; |
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 41 cmp byte ptr ss:[esp+0xC],0x41 ; 比较第一字符是不是A
004050D6 . 0F85 13010000 jnz 004051EF
004050DC . 8A4424 0D mov al,byte ptr ss:[esp+0xD]
004050E0 . 3C 41 cmp al,0x41 ; 比较第二个字符是不是A,值应该小于A的ASCII码
004050E2 . 0F8D 07010000 jge 004051EF
004050E8 . 8A4C24 0E mov cl,byte ptr ss:[esp+0xE]
004050EC . 3AC1 cmp al,cl ; 比较第三个字符是不是小于第二个字符
004050EE . 0F8D FB000000 jge 004051EF
004050F4 . 3A4C24 0F cmp cl,byte ptr ss:[esp+0xF] ; 判断第四个字符是不是大于第三个字符
004050F8 . 0F8E F1000000 jle 004051EF
004050FE . 56 push esi
004050FF . 57 push edi
算法结果:
第一位:ASCII码 41 转换>> A 固定
第二位:不能是A,其他随意
第三位:值应该大于第二位的值
第四位:值应该小于第三位的值
结果:A232 A343 A454 均可注册成功。。
特别简单。。喜欢学习算法的可以研究下。。
如果帮到你了。麻烦给点热心值。。谢谢。。
|
|
免费评分
-
查看全部评分
本帖被以下淘专辑推荐:
- · 学习及教程|主题: 1126, 订阅: 1119
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|