标题:破解OICQ的密码算法(谁看得懂,我搞不懂啊)
作者:★☆★
时间:2/26 10:41
一个字符是J的语句。因为这们己经假设,程序中必定存在一行转折语句,当用户输入的是正解密码时,它跳转(或不跳转),而当用户输入错误密码时,它不跳转(或跳转)。小心地按F10单步执行代码,在出现转折语句处设下一断点(只是做一个记号),并且记录它们的跳转情况(经验丰富者知道哪里有必要下断点而哪里没有必要),直到程序出现密码错误的对话框为止。
这时候你可能己经花去了1分钟的时间。好的,现在输入正确的密码作为比较。同样单步地执行代码,你将看到上次你在跳转语句上作的记号。比较两次的跳转是否相同。
你将看到,当程序运行到这里时,前后两次的跳转方向不同:
...
00441C1B call 0046c256
00441C20 cmp eax, ebx
00441C22 jz 00441C28----->就是这里!
00441C24 mov esi, edi
...
分析一下这几个代码,它首先调用函数0046C256,然后比较EAX与EBX的值,如果EAX与EBX的值相同,就跳转。我们重新执行程序,发现当输入正确密码时,EAX=1,当输入错误密码时,EAX=0,而EBX总是0。所以,函数0046C256是一个可疑的函数!
按F8进入函数0046C256,我们要看看它做了什么工作。
:0046C256 mov eax, 004CD33C
:0046C25B call 0 ..
下页 上页
回复本帖|发新话题
回复列表 (10)
#1 我也搞不懂,看起来太深奥
[★龙神★ 2/26 11:29]
#2 有没有懂的啊,丸子你懂吧!
[★☆★ 2/26 11:44]
#3 分析这个不是很有必要。因为T ..
[靖哥哥 2/26 13:50]
#4 那你破过别人的QQ或者黑过人的 ..
[★☆★ 2/26 13:53]
#5 呵呵,没有过。我是好人啊。再 ..
[靖哥哥 2/26 13:57]
#6 能发贴这样的贴子,实在是居心 ..
[天才柯柯 2/26 14:59]
#7 这种文章应该在不是发表在这吧
[隔夜咖啡 2/26 15:02]
#8 是吗,因为我搞不懂社区哪里可 ..
[★☆★ 2/26 15:10]
#9 这样的文章对懂的人可以学点吧 ..
[醉老 2/26 18:01]
#10 倒~看得懂的人不用看自己可能 ..
[★☆★ 2/27 08:49]
<<下一主题
>>上一主题
返回版块