仙侣奇缘II去除文件自校验
【文章标题】: [原创]仙侣奇缘II去除文件自校验【文章作者】: 小虾米
【作者邮箱】: [email protected]
【作者QQ号】: 124535772
【软件名称】: 仙侣奇缘II
【软件大小】: 1G
【下载地址】: 黑山总部
【加壳方式】: UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo
【保护方式】: 自校验
【编写语言】: Borland C++ 1999
【使用工具】: OD,PEID
【操作平台】: 盗版Windows xp
【软件介绍】: 一款武侠爱情游戏
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
玩过仙侣II的人都知道,游戏的BUG是多如牛毛,今天是无敌,明天是刷经验,后天就是无限免死了,而这一切的实现方法仅仅是删除客户端的一个小小的文件。。。
在广大玩家斥责JS的同时,JS的技术人员略微的增加了一个文件校验的小伎俩。也就是当你删除任何一个游戏文件后再进游戏就会提示你:客户端文件不完整,请更新客户端。
本人已经不玩好长时间了,因为现在都是有钱人的天下,你技术再好,水平再高,装备垃圾,你就是菜!!!要想得到好装备?一天24小时在线做任务,48小时挂机,也没有RMB玩家升的快。况且现在也没几个人在玩了,老玩家都走的差不多了。我不会无聊到为了一个游戏而忘掉现实生活的残酷,虽然曾经是那样。。。
呵呵,话有点多了,没办法,谁让它是我的第一个网络游戏,也许是最后一个了吧。废话不多说,开工。
首先拿出PEID查壳:UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo,这个好脱,手动,ESP定律,2次内存断点法,PEID的插件都可以轻松的脱去。脱完后无法运行。再用ImportREC修复下输入表。OEP:00401474,RAV大小:1000。
修复后可以正常运行。一看是Borland C++ 1999写的。OK~。把脱壳后的文件载入OD(之前要随便删除一个游戏文件,因为我们要找自校验的出错窗口),F9运行后,弹出自校验窗口:客户端文件不完整,请更新客户端。点OD右上角的W按钮,找到该提示信息窗口的句柄,在004D64EC处下断。Ctrl+F2重新载入,F9运行后断在004D64EC处,F8单步跟踪,如果进入了系统的领空,就ALT+F9返回到程序领空,一直单步到这里:
00401E5A /75 33 jnz short 00401E8F
00401E5C |6A 10 push 10
00401E5E |68 48225500 push 00552248
00401E63 |68 29225500 push 00552229
00401E68 |8B45 FC mov eax, dword ptr
00401E6B |E8 08DF0D00 call 004DFD78
00401E70 |50 push eax
00401E71 |E8 A6F81400 call <jmp.&user32.MessageBoxA>
00401E76 |8B15 D4105700 mov edx, dword ptr ; 1_.00571F64
00401E7C |8B02 mov eax, dword ptr
00401E7E |E8 71F20C00 call 004D10F4
00401E83 |8B55 D4 mov edx, dword ptr
00401E86 |64:8915 0000000>mov dword ptr fs:, edx
00401E8D |EB 1B jmp short 00401EAA
00401E8F \6A 01 push 1
00401E91 6A 00 push 0
00401E93 68 F81A4000 push 00401AF8
00401E98 6A 05 push 5
00401E9A 6A 28 push 28
00401E9C E8 E5F91400 call <jmp.&winmm.timeSetEvent>
看到这句了吧?
00401E71 |E8 A6F81400 call <jmp.&user32.MessageBoxA>这就是那个提示文件不完整的窗口
它是从 00401E5A这里跳过来的,所以我们要修改跳转条件,将:JNZ改为JZ后保存。
这样就跳过了文件自校验。现在无论你删除什么文件,都不会再弹出那个烦人的提示窗口了。双击进入游戏后输入帐号和密码,郁闷的是它要校验客户端版本和服务器版本是否一致,如果不一致就提示:客户端已经过期。无法进入游戏。
这里我觉得已经涉及到网络验证这一块了,现在的水平还达不到。哈哈~不管怎么说,自校验已经祛除了。剩下的就由各位大虾自由发挥去吧。。。
感谢仙侣里陪我走过风风雨雨的一年时光的朋友:130(烧钱的主~哈哈),锤子大哥,肚皮饿了,亲亲宝贝,老表,牙牙,云开,树叶子,隐匿者,燕子等等等等,虽然也有人不玩了,但是我还是祝你们天天快乐。。。
还要感谢:午睡的夜叉~给我的那一丝丝灵感,也许没有他的提示,我走不到今天这一步。
最后还要感谢看雪老师给我们提供的这么好的一个交流平台,以及那些无私奉献的前辈们。。。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2007年09月18日 14:16:27 点OD右上角的W按钮,找到该提示信息窗口的句柄,在004D64EC处下断。
不明白 网络验证不好搞了,也不喜欢玩游戏.软件那么大硬盘都放不下:loveliness: 不错,谢谢楼主! 还是不要弄游戏了~现在抓到没什么好结果
回复 5# 的帖子
抓到直接送监狱:lol: 是不是金山更加容易点呀! 可能在客户端里,也能修改版本的吧.?问题就是在那里咯,! 楼主厉害,向你学习了
页:
[1]