| 破解深入地心(Game) |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:58:56
|
| 破解程序: 深入地心(Game)
破解工具: SoftICE 3.0 For Windows 95 W32Dasm 8.5
破解者: chcw
在安装完深入地心之后,执行其主程序Emb.exe,得到错误提示“你并未正确安装本游戏”。下 面我们将分析并解决该错误。
1. 用SoftICE载入EMB.EXE。 2. 因为在运行时会有一个错误提示,我们就对它设置断点: BPX MESSAGEBOXA 3. 按Ctrl-D,程序开始运行,触发SoftICE,光带停留在MessageBoxA函数的入口处:
USER32!MessageBoxA 0137:BFF541BA PUSH EBP 将光标移到MessageBoxA函数的返回处 0137:BFF541D RET 0010
并键入命令HERE,程序执行到光标所在处。 4. 按F10,回到调用MessageBoxA函数的上层语句处: 0137:00470B29 CALL USER32!MessageBoxA 从该语句处向上找,发现在:00470B0F有一处函数调用,其函数的返回值决定了是否显示错误的 提示。 0137:00470B0F CALL 00402F5E <-函数调用 0137:00470B14 ADD ESP, 00000004 0137:00470B17 TEST EAX, EAX ;若EAX非零,则不显示错误信息。 0137:00470B19 JNE 00470B36 5. 键入BC *,清除原先的断点。再将鼠标移到:00470B17 TEST EAX, EAX处双击,设置执行断 点。 6. 按Ctrl-D回到执行程序,此时程序显示完错误信息,并正常退出。在SoftICE中选择Module/Load 再次载入程序。 7. 程序开始运行后 ,SoftICE将被触发,刚才设置的断点被激活了: 0137:00470B17 TEST EAX, EAX ; <-激活的断点处 键入r eax=1,将eax的值强行设置为1。然后键入X,继续运行程序。此时程序不再显示错误信息, 而是开始显示主界面。但在选择New Game后,程序继续执行时会出错并退出。看来,很可能函数 00402F5E读取了某些主程序运行时所必须的数据,我们需要进一步分析函数00402F5E 8. 用W32Dasm对执行程序EMB.EXE进行反汇编,并在Search/Find Text中输入"call 00402F5E",查找 [1] [2] [3] [4] 下一页
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: adsubstractpro2.1注册器(带源码) 下一篇文章: 破解NoterproV1.1 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |