[upload=4] 在猴岛的第一篇破文,希望大家会喜欢,前几天看到岁岁破解的【精端游戏综合外挂】,后来发现这个外挂升级了,以前的用不了,还加了3层壳 更觉得有意思了。。。跟它血拼了3天,终于。。。。
先声明:本人菜鸟,技术浅薄,高手就不要看了,免得俺被取笑~。有兴趣的人可以一起参考学习,游戏的程序就不要找我拿了吧?http://www.bfhwg.cn/这里有得下,有什么错误的地方希望大家指出,顶起来吧!~
下面是破解过程:
一、 先用Peid查壳,再脱壳!过程我就不说了,脱壳软件多的是,但我要说的是这个软件破解最难的部分其实也是脱壳部分,问我为什么???你自己试试就知道了!我也不知怎么得就脱了的。。。真走运·~~~~~~
二、运行外挂软件,用户名和密码随便输入,点登陆,返回主界面出现“错误:用户名 密码错误!” 用OD载入脱壳完后的游戏外挂软件,右键----》搜索 Unicode字符------》查找------》错误:用户名 密码错误 查不到~~~~VB写的程序一般都查不到~~~关闭OD
三、呵呵,有办法。用GetVbRes载入脱壳后的外挂软件,在双字节资源里找的 错误:用户名 密码错误 把它改成 11111 (这个随便 4444也可以 只要是数字 字母就行 但是要填多一点哦,以免跟软件本身的一样) 好了 保存文件。
四、用OD载入刚修改完的程序,右键----》搜索 Unicode字符------》查找------》11111 这下找到了,双击进入程序领空,一起来看看吧:(先看0048D897 处 )
0048D73D call dword ptr ds:[<&MSVBVM60._>;
0048D743 test eax,eax
0048D745 je 精端游戏.0048DAD5 ----------》这里应该就是传说中的关键跳了 0048D74B mov dword ptr ss:[ebp-4],0D (跨越很大)但是不能改!它和上一版
0048D752 mov dword ptr ss:[ebp-70],0 本不一样,看代码就知道了。相等就跳
0048D759 mov dword ptr ss:[ebp-78],3 那不就帮我们跳处错误了吗?呵呵 但是用户名 密码错误的提示又是拿来的呢?想不到,望高手指点 分析有误的话也望指出 为了下一步分析,先把这里的je改成jne
……………………………中间省略一点~……………………………
0048D857 mov dword ptr ss:[ebp-EC],精端游戏.>
0048D861 jmp short 精端游戏.0048D86D
0048D863 mov dword ptr ss:[ebp-EC],精端游戏.>
0048D86D mov eax,dword ptr ss:[ebp-EC]
0048D873 mov ecx,dword ptr ds:[eax]
0048D875 mov edx,dword ptr ss:[ebp-EC]
0048D87B mov eax,dword ptr ds:[edx]
0048D87D mov edx,dword ptr ds:[eax]
0048D87F push ecx
0048D880 call dword ptr ds:[edx+300]
0048D886 push eax
0048D887 lea eax,dword ptr ss:[ebp-28]
0048D88A push eax
0048D88B call dword ptr ds:[<&MSVBVM60._>; MSVBVM60.__vbaObjSet
0048D891 mov dword ptr ss:[ebp-AC],eax
0048D897 push 精端游戏.0042C268 ; UNICODE "11111 "-----》这里就是出现错误的地方 我们向上找关键跳
五、右键--------》复制到可执行文件-------》所有文件 在弹出的界面中 右键-----》保存文件
重新命名一个文件就可以了。运行刚修改完的文件,,,发现弹出登陆超时的错误,,,这下大家知道怎么做了吧~~~重复上面步骤,,用GetVbRes载入………把刚才的出错信息………修改为22222 用OD载入,查找 22222
发现了,可是有2处哦~~~2处都把它改了吧!!!
0048DAE9 call dword ptr ds:[<&MSVBVM60._>; MSVBVM60.__vbaInStr
0048DAEF test eax,eax
0048DAF1 je 精端游戏.0048DE4B ======》把je改成jne
0048DAF7 mov dword ptr ss:[ebp-4],14
0048DAFE mov dword ptr ss:[ebp-70],0
0048DB05 mov dword ptr ss:[ebp-78],3
0048DB0C mov eax,10
0048DB11 call <jmp.&MSVBVM60.__vbaChkstk>
…………………中间省略一点~…大约2W字…………………………
0048DEC2 mov dword ptr ss:[ebp-40],80020>
0048DEC9 mov dword ptr ss:[ebp-48],0A
0048DED0 mov dword ptr ss:[ebp-70],精端游戏.>; UNICODE "22222 " ======》 出错处
还有一处~~~~
0048A34D call dword ptr ds:[<&MSVBVM60._>; MSVBVM60.__vbaInStr
0048A353 test eax,eax
0048A355 jnz 2.0048A663 ======》把je改成jne
0048A35B mov dword ptr ss:[ebp-4],29
0048A362 mov eax,dword ptr ss:[ebp+8]
0048A365 mov ecx,dword ptr ds:[eax]
0048A367 mov edx,dword ptr ss:[ebp+8]
……………………………中间省略一点~……………………………
0048A6CC mov dword ptr ss:[ebp-54],80020>
0048A6D3 mov dword ptr ss:[ebp-5C],0A
0048A6DA mov dword ptr ss:[ebp-44],80020>
0048A6E1 mov dword ptr ss:[ebp-4C],0A
0048A6E8 mov dword ptr ss:[ebp-74],2.004>; UNICODE "22222 " ======》 出错处
六、右键--------》复制到可执行文件-------》所有文件 在弹出的界面中 右键-----》保存文件
重新命名一个文件就可以了。 现在运行看看 有错误 出现11111~~把0048D745 jnz 精端游戏.0048DAD5 改回来就可以了,jnz改成je 再保存一次 ~打开看看~呵呵 成功爆破!效果见图:
由于附件传了图片.所以下载连接就到另外个地址咯,密切关注哦,等下我会发地址。