破解外挂技术

上传人:cl****1 文档编号:460021779 上传时间:2023-07-04 格式:DOCX 页数:5 大小:17.07KB
返回 下载 相关 举报
破解外挂技术_第1页
第1页 / 共5页
破解外挂技术_第2页
第2页 / 共5页
破解外挂技术_第3页
第3页 / 共5页
破解外挂技术_第4页
第4页 / 共5页
破解外挂技术_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《破解外挂技术》由会员分享,可在线阅读,更多相关《破解外挂技术(5页珍藏版)》请在金锄头文库上搜索。

1、vDIV外挂破解一直以来都是热门话题,毕竟外挂是一种很特殊的东西,为了防止被破解掉, 外挂一般都会加上猛壳,让人无法下手。不过有时候外挂并不是那么神秘,灵活的思考对破 解是很有帮助的。今天小生就献丑了,说说我的破解过程。(注:为了方便我都是在V3.2b 上取代码和截图)v/DIVvDIV v/DIVvDIV、软件信息和所用工具程序名称:99奇迹V3.2b版文件名:99mu.exe文件大小:264,192 byte加壳类型:ASProtect 1.2x - 1.3x Registered - Alexey Solodovnikov破解所用工具:Ollydbg V1.10 正式汉化修改版一一fly

2、ODBG、PEiD v0.92、keymake1.7 3二、破解过程7月18日第一天听说99奇迹19日0时开始收费,心里确实不爽,于是决心研究一下这个外挂,首先想到的当然是常规的方法。用PE打开99mu.exe,可以看到加壳类型为ASProtect 1.2x - 1.3x Registered - Alexey Solodovnikov,习惯性的用插件查看OPE,结果并没能得到我想 要的入口点地址,如图1。我个人经验,用ASProtect 1.2x加的壳都能找到OEP的,估计这个壳比较新,或者被 手工修改过的。看来要手工找OPE脱壳了。不过这壳确实挺麻烦的,脱出来了,可IAT中 有十多个API

3、函数没办法修复,跟了一天都没结果。实在没办法了,第一天以脱壳失败告终。7月19日第二天今天没外挂用了,不死心,决定再突破一下。用OD载入99mu.exe,用插件隐藏调试标志(如图2),在调试设置中忽略全部异常。载入后会停在以下代码处:00401000 968 01006C00push 99mu.006C0001 /载入后停在这里00401005E8 01000000call 99mu.0040100B0040100AC3ret n0040100BC3ret n0040100CD16B 84shr dword ptr ds:ebx-7C,10040100FA8 CEtest al,0CE0040

4、101198cwde004010129Dpopfd直接F9,让程序运行起来(如图3),运行过程中有两次警告都不用理它。可以看到我 们还在99mu这个模块中,这对我们来说是个好事,试了试常规断点:bpx GetDIgltemTextbpx GetDlgItemIntbpx GetWindowTextbpx GetWindowWordbpx GetWindowInt没一个能断下来,郁闷,试试万能断点吧(OD下万能断点方法请参看2004年4月的X 档案),N麻烦,不过对于我这样的菜鸟很实用。下短点“BPX *”在所有命令上下断,很直 接,程序马上就给OD断下来了,现在就要取消一些断点了,因为外挂的热

5、键有F9所以不 能用F9运行程序,要用鼠标点工具栏上的运行按键才可以,现在点一次运行按一次F2,取 消一些程序加载时的断点,直到我们能随便移动外挂窗口而不被OD断下来为止。好的,现在我们在外挂的“99密码框”中随便输入几个字符,比如说78787878787878这 样的,有助于跟踪的字符。然后点登陆,程序又被断下来。然后的过程很烦,一个 CALL 就断一次,我就得判断一次这个CALL是否对破解有用,跟得头都大了,当然,还好的是我 来到了下边的位置:004195FA%d.%d.%d.%d68 54EC4300/IP地址的格式004195FF0041960042.#2818004196050041

6、96080041960B0041960C2_32.i net_addr00419611看到IP52E8 E172010083C4 188B45 0850E8 297B01008B8E 48030000push 99mu.0043EC54push edxcall 99mu.004308E6add esp,18mov eax,dword ptr ss:ebp+8push eaxcall 99mu.0043113A;ASCII;jmp to mfc;jmp to WSmov ecx,dword ptr ds:esi+348 / 在这里可以004196178941 34mov dword ptr ds

7、:ecx+34,eax看004195FA那里的d.%d.%d.%d像什么?对的,像IP的格式,放慢速度,在0041960C这个CALL就是增加IP地址的函数,在00419611这里我们可以看到寄存器里外挂验 证服务器的IP。看到这里就有信心了,跟下去,下边就是把我们的游戏帐号进行N次运算 的过程,本来打算研究研究的,想通过修改验证服务器IP,然后根据算法写出个服务端, 进行单机验证的,不过最后放弃了,毕竟我是菜鸟,有没耐心。决定碰碰运气,找验证的地方改跳转吧。继续向下看,没走多远,就遇到了一个跳转,代码如下:00419723E8 881E0100call 99mu.0042B5B0004197

8、2885C0test eax,eax0041972A75 29jnz short 99mu.00419755 这个跳转值得研究0041972C8B8E 48030000mov ecx,dword ptr ds:esi+34800419732E8 591E0100call 99mu.0042B5900041973751push ecx004197388BCCmov ecx,esp0041973A8965 E0mov dword ptr ss:ebp-20,esp0041973D68 2CEC4300push 99mu.0043EC2C;ASCII can not pass authen /这里很

9、有意思00419742E8 B7710100call 99mu.004308FE;jmp to mfc42.#537004197478BCEmov ecx,esi00419749E8 52FBFFFFcall 99mu.004192A0本来对这个跳转没怎么注意的,不过看到“ASCII can not pass authen”字样我就乐 了(图4),有什么说的,这个就是验证的地方了。把0041972A处的jnz short 99mu.0041 9755改为je short 00419755,试试看,不出所料验证通过了。有了这些宝贵的资料,现在我们要做的就是怎么修改这个跳转的问题,因为没脱壳,不

10、能用改代码的方法,不要说次次都开OD来改吧,这样太恐怖了。其实动态修改的方法我 早想好了,做个内存补丁就OK 了,请出keymake1.73,从菜单中的“其他-制作内存补丁” 开始制作内存补丁,把“等到进程闲置时修改内存”给钩上,然后添加要修改的内存数据,修 改地址就是0041972A这个跳转,由75 29可以知道数据长度为2,原始指令就是75 29了, 修改指令为74 29,如图5,然后生成补丁就OK 了。今天的成果不错哦。7月20日第三天今天下午1点,99奇迹更新3.2b版,呵呵,没什么说的,抄家伙,破掉它。直接用OD 载入,让程序运行起来,搜索字符参考,找到“can not pass authen”,双击它,然后向上 看,明摆着一个跳转指令在哪,动手,直接制作内存补丁。0K,整个过程不用三分钟,怎 么样,爽吧? v/DIVvDIV三、总结破解这个外挂确实只需要三分钟,可我却用了 3天时间,走了不少弯路,当然也学到不 少,希望我的破解手记能给像我一样的菜鸟们带来些帮助。v/DIV/rep原理上说是不错

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号