《英雄无敌》1代Win千禧版——免CD修改
前言
《英雄无敌》1代是95年的,但在2000年出了千禧版,加上由Verok的HD补丁,使得其在最新的Win系统如:Win11、Win10上都可以完美运行,很受我的喜欢,该游戏可以选择一个地图,没事玩一下可能1、2个小时,很能打发时间。游戏要CD,这个每次还得加载虚拟光驱添加iso不是很方便,故修改一下使其免CD。
修改过程
使用OD打开游戏
点击字符串搜索
找到有关CD和CD-ROM的字符串,如上图看到4500A9和4500D5两处,回到CPU窗口,右键选择go to再选表达式,其中填上4500A9
很容易看出,下图中的两处条件跳转就是免CD的关键跳转,只要避开两处跳转下面的两个关键call就能实现免CD了。
这样就修改这两处关键跳转。很简单地看到,只要把条件跳转改成无条件跳转即可。于是在45009C上右键选择Binary->Edit
出现下面对话框
将其改成下面这样(原指令长度为6,现在改为5,所以后面的跳转长度要加1)
点击OK后,变成下图样式
同样地,再把4500F4这句也改成(和上面完全相同)如下样子
至此,两个关键跳转已经修改完成,应该能免CD了,保存修改
运行新保存的游戏就不需要CD了,但这样修改后,运行游戏时是没有开始动画的,一打开游戏就到如下画面。
下面用hexedit类的软件修改这个文件使其具有开始动画。用010editor打开刚修改后的文件
选择search工具栏的find,调整为选择ASCII吗,在搜索框里输入\Anim,因为该游戏的动画是放在这个目录里的
搜到这里
将其改成下图样子(即:游戏本来的动画是存于CD上的,现在将其改到存放到游戏目录里)
最后,将游戏CD里的anim目录的内容和目录一起拷贝到游戏目录,如下图所示
至此,再游戏就不要CD了,还有开机动画。