飘零2.8概述
飘零2.8其实和前面的2.7没有多大的差别,基本的认证方式和特点都一样。所以,破解的思路也是一模一样的,这里2.8主要讲解在破解飘零网络认证的软件中会遇到的问题,简单来说就是一个飘零网络认证破解问题汇总。
飘零2.8破解问题汇总
问题一:时钟特征
时钟检测其实很常见,一般在易语言中很容易看出来了它的特征,就是在易语言“按钮事件”这里下一个断点,然后F9运行程序后,程序会无限制的断在这里,而不会像去掉时钟那样,点击了“登录”以后才断在按钮事件这里,这就是时钟检测特征,如图所示:
问题二:去掉账号密码为空检测
和破解2.7思路一样,去掉账号密码为空的检测,直接jmp
过去就行,如图所示:
问题三:程序跑丢找回
什么是程序跑丢呢?也就是说,当程序在某处被断下来F8单步向下走的时候,到某处突然程序直接“运行”起来了,这就是跑丢了,这就需要在跑丢的那一行下面下一个断点,然后点击OD的“T”线程标志,进去激活所有线程后程序就可以跑回来了,如图所示:
问题四:易语言下标错误
这个下标是易语言特有的特征,如果在破解一个程序的时候提示“数组成员引用下标超出定义范围”就肯定是一个易语言程序,这个下标错也是可以直接找到段首retn
搞定的,2.x版本的飘零网络认证就有这个东西,在“取会员信息错误,请检查网络”的提示下面,如图所示:
如上图所示,这个错误可以直接在jl
判断哪儿直接jmp
跳过去,但是跳过这个了,如果还有其他地方调用也没用,最好的办法就是在易语言体中,也就是401000
处找窗体事件,找到这个下标函数,直接干掉,如图所示:
如上图所示,在几个jmp
处回车跟进去,找到如上图二所示的代码1
2
3
4
5
6
7
8
9
10
11push ebp
mov ebp,esp
mov eax,[arg.1]
push eax
mov ecx,[arg.1]
mov edx,dword ptr ds:[ecx*4+0x4C52F0]
push edx
mov ecx,飘零网络.004E1DF8
call 飘零网络.00432B30
pop ebp
retn
这里就是易语言的下标,直接段首处retn
掉即可。
问题五:退出暗桩解决
其实很多程序都存在退出暗桩问题,同样的,易语言的退出暗桩也要经过问题四中的那几个jmp
,一个个跟进去找,找到退出暗桩的段首也是retn
掉即可,如图所示:
如上图所示代码1
2
3
4
5
6
7
8
9
10
11push ebp
mov ebp,esp
mov eax,[arg.1]
push eax
mov ecx,飘零网络.004E1DF8
call 飘零网络.00433320
mov ecx,[arg.1]
push ecx
call dword ptr ds:[<&KERNEL32.ExitProces>]
pop ebp
retn
可以从上图中看见在call
后面有一个Exitprocess
这就是退出暗桩,段首直接retn
掉就行了。如果还是遇见退出,那就直接把这些跳转到退出的call给nop掉,下面的条件跳转直接jmp跳过就行了,如图所示:
问题六:易语言体读取解决
易语言体读取就是在程序运行到某一处后,它会读取一下易语言体是否存在,不存在直接就结束了,所以需要把这个读取易语言体的call直接nop掉,如图所示:
问题七:出错解决
有些时候,也不一定是调用的退出,而是出错调用,直接导致程序出错从而停止运行,直接nop掉出错调用函数,如图所示:
问题八:非法字符解决
其实不仅仅只是飘零才有非法字符提示,VMP的壳也有,这里可以也可以直接给它nop掉,不让这个call
读取就行了,如图所示:
问题九:绑定跳过
飘零的特性,喜欢绑定机器或者QQ,直接跳过绑定认证即可,同时,在这个绑定下面就是登陆成功,前面有一个大跳转,直接跳过绑定和登陆成功,需要把这个大跳转干掉,不让它跳转,如图所示:
如上图所示就是跳过登陆成功的jnz
判断,直接nop掉,下面继续干掉绑定,如图所示:
问题十:登陆成功后的判断
飘零网络认证在登录成功以后还有一个判断,就是源码里面的登录成功函数,里面写了很多判断,如图所示:
如上图所示,这就是登录成功后调用登录成功函数,里面还有一次判断,所以需要给它干掉,然后有个记次循环判断,需要给它直接jmp掉,然后最后还有几个出错暗桩,直接全部给它nop掉,就像前面出错问题哪儿一样的,如图所示:
如上第三幅图所示,全是ebx的出错暗桩,给它全部nop掉即可。到这里所有的问题解决掉就可以成功破解了。
结论
飘零网络认证一定要注意,特别是上面的这些问题中的问题四和问题六,本人亲自遇见过多次,一定要搞掉,不然坑太大了,这不仅仅是飘零有,我遇见过得易语言的软件都有这两个东西,必须要干掉。