游戏资讯
易游作为在游戏更新软件中也做得不错的一款,获得了众多网吧的认可,是网吧业主不可或缺的利润倍增器。接下来我们5636网吧联盟就来带着大家一起破解易游的还原系统。
clientset.exe是易游客户端的管理文件,只要能进入管理系统就可将还原破解。先用Peid扫描clientset.exe发现加有ASPack壳,将其用OD载入,使用ESP定律来到OEP,DUMP出来后发现程序是Delphi写的,但运行却提示程序初始化失败(如图1):
手工修复IAT也还是无法运行。接着拿出DeDeDark将无壳程序反编译,点过程,找到模块:Ulogin,并在旁边事件中,找到btnNotLoginClick,复制地址004941F0(如图2)。
在OD中用CTRL+G到004941F0地址下断,并且在MessageBoxA上下断(bpMessageBoxA)。F9运行,填入错误的,点击。会发现代码逻辑完全看不懂,马上查看用Peid查看发现有VMP区段(如图3)。
继续F9,来到vcl库内部,CTRL+F9几次回到主程序如图4:
这里就是验证失败显示错误的位置,这时会发现堆栈里有假码和另外两个字符串有点像MD56加密的(其实是变形MD5加密的),并且假码存储在01410000(不同的机器可能在不同的位置),这时先记下加密的加码以后备用并不忙向04140000下断,继续F9,输入假码,OD断下的后在01410000下硬件访问断点(hr01410000),这时来到程序处理假码的内部(如图5),
这时查看ebp内容(ddebp),可发现在假码的周围还有一串可疑的字符串如图6,
这极有可能就是维护的登陆,马上用其去登陆,结果登陆失败。
这时整理一下思路,程序的验证很可能是读出加密的密码然后和加密的假码进行比较,但由于中间的处理代码被VMP保护掉了,爆破是不可能的,但是如果在两者比较之前将加密的假码patch为加密的真码,程序一样是可以通过验证的!经过一段时间的分析,加密的真码和假码会如图7存储。
这下就好办了,先清除所有硬件断点,按原来的步骤运行到004941F0单步F8,经过几个跳转和CALL后,会发现ebx中的地址指向我们的假码(如图8)
并且可看到假码的位置存储在12fc34,这时对12fc30和12fc38下硬件写入断点(hw12fcXX),F9运行后马上断下,这时ESI,EDI分别指向两个存储加密假码不同的位置,将两个位置全部改为加密的真码,当然将加密的真码全部改为加密的假码也可以,F9后会断在加密真码的处理位置,继续F9,这回登陆成成功!至此破解还原就轻松了。
以上内容整理自互联网,如有侵权,请立即与小编联系,小编将及时处理。转载或引用本网版权所有之内容请注明来源,感谢您对本站的支持! 联系QQ:2850592923 欢迎加入网吧业主 交流群:614859884(已满)397580722(可加)
点击排行榜
投稿专区