下载首页 | 资讯中心 | 文章分类 | 最近更新 | 排 行 榜 | 国产软件 | 国外软件 | 绿色软件 | 汉化补丁 | |
文章搜索: 分类 关键字
您的位置:首页游戏娱乐游戏秘技 → 偷天换日 光盘版游戏完美转换硬盘版方法
偷天换日 光盘版游戏完美转换硬盘版方法
来源:太平洋电脑网 作者:狂ρκ 加入时间:2006-10-27 访问次数:8 [  ]

  电脑游戏玩家都遇到过这样的问题,很多游戏在运行时仍需要插入光盘(“完全安装”情况下竟然也是如此!?)。如果光盘不慎遗失或光驱故障,面对安装好的游戏你是否就无计可施了呢?你可能会选择从网上下载高手制作的免CD补丁,可是并非每个光盘版游戏都能找到或能用这样的补丁。本文就要让你扮演一回高手的角色,自己来打造完美的硬盘版游戏

 

  特别声明:本文目的只是为了让购买正版游戏的用户能够在不磨损光驱的情况下方便地进行游戏,以下修改例子中皆隐去了部分游戏名称。

  并不是每个光盘版游戏都能够转换为硬盘版,以下列举了一些可修改的游戏类型和特征,并给出实际修改过程。

  实战1:去除光盘检测

  游戏特征:游戏所有文件均已安装至硬盘中,仅在游戏开始时出于版权保护目的检测一次光盘。

  修改原理:在游戏程序开始位置有一段检测光盘的代码,最简单的检测方式就是从光盘中读取特定文件,没有读到则弹出提示框并强制退出游戏,如果读到并确认为该游戏光盘,则程序跳转到游戏开始处。

  修改难度:★★★

  所需工具:W32DASM(点击下载)、RTA(原地址已不可用,据了解RTA和Hiew、010Editor同为16进制编辑器。)(注:以上两软件非PConline提供,请注意安全)

  第一步:下载W32DASM并解压,运行解压目录中的W32dsm8.93+.exe。选择W32DASM主界面菜单“Disassembler→Open File to Disassemble”(反汇编→打开需要反汇编的文件),在文件选择框中选择打开《××物语》安装目录下的zweipet.exe。

  第二步:选择菜单“Functions→Imports”(函数→输入表),在弹出窗口中有一个列表框详细列出了程序中用到的API函数。在窗口上方文本框中输入“GetDriveType”(不含引号)并点击右侧“Search”(搜索)按钮,下方列表框中就选中了该函数所在行,接着双击它(见图1)。

偷天换日光盘版游戏完美转换硬盘版方法

图1 查找到“GetDriveType”

  小提示:API是程序调用系统功能的函数接口,比如程序要检测光盘,就必须使用GetDriveType函数来获得盘符的设备类型。因此找到GetDriveType函数在程序中的调用位置,就一定能在附近找到光盘检测代码。

  第三步:在W32DASM主界面的代码显示框中就以高亮方式选中了GetDriveType函数的调用位置,将代码框稍微往下拉一点就能看到光盘检测代码了(见图2)。代码框最左侧的蓝色数字是代码的位置,如本文中在zweipet.exe中找到GetDriveType的位置为0048843,而光盘检测代码的位置在004088BD处。以下是代码简要注释:

偷天换日光盘版游戏完美转换硬盘版方法

图2 提示“插入光盘”的光盘检测代码

  • :004088BD  mov eax,dword ptr[esp+14]
  • :004088C1  test eax, eax  //检查是否有光盘
  • :004088C3  jnz 004088DB  //有光盘则跳转到004088DB位置(即游戏开始位置),没有光盘则不跳转
  • :004088C5  push 00000000
  • :004088C7  push 00428934
  • :004088CC  push 00428919
  • :004088D1  push 00000000
  • :004088D3  call dword ptr[004233EC] //弹出一个提示窗口“请插入××物语的游戏光盘”
  • :004088D9  jmp 00408933  //程序转向代码结束部分,也就是强制退出游戏(见图3)

偷天换日光盘版游戏完美转换硬盘版方法

图3:004088D3位置处的代码执行时会弹出此提示框

  第三步:可以看到在004088C3处决定了程序走向(是继续下一行代码还是跳转到004088DB处开始游戏),如果能让程序不加判断直接跳转到004088DB,就等于跳过了光盘检测。关闭W32DASM,打开刚才下载的RTA,选择菜单命令“File→Open File”(文件→打开文件),同样也是打开zweipet.exe。RTA界面立即显示出zweipet.exe的汇编程序代码。最左侧的红色数字为代码位置,边上蓝色十六进制数为该行代码的机器码,右侧黄色文字则为汇编代码。找到要修改的位置004088C3,可这句汇编代码为“JNZ SHORT 4088DB”,将其修改为“JMP SHORT 4088DB”(不含引号,机器码为EB16)。

上一页 [1] [2] 下一页
评论人 评论内容摘要(共 0 条,查看完整内容) 得分 0 发表时间
 热点文章
·惊爆!《暗黑破坏神3》将对应全平台
·《荣誉勋章:太平洋之战》中文版上市
·MediaShow魅力四射快速制作音乐电子相册
·《花木兰》完美流程攻略
·轻松可爱 最新10大Q版网络游戏推荐
·2006年暑期新宣布免费网络游戏一览
·photoshop制作水晶球中的精灵
·NVIDIA发布Forceware 93.71 WHQL驱动
·经验分享 微软Word2007实用技巧两则
·国内新记录产生 1M super pi运算仅用9秒
 推荐文章
·微软高官爆料:欧盟对Vista哪些功能不安
·在Google Talk上与QQ、MSN好友聊天
·Word使用过程中的常见问题及其解决
·手把手教你内存终极变相“造假”大法
·NVIDIA联手海盗船 推出自动超频内存
·Windows Vista特殊功能介绍:语音识别
·公安机关检验软件样本 流氓软件制造者面临坐牢危..
·比英特尔UMPC还要小 移动PC新品推出
·性感暴力完美结合 御姐武戏X新画面
·盖茨访谈:我就是微软里的兼职员工
WinXP下载基地 版权所有 Copyright© 2006-2008 WWW.WinXpd.COM, All Rights Reserved. 页面维护: WinXP下载基地(WinXP基D)