吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3811|回复: 85
收起左侧

[原创] 《英雄无敌》3完整版complete(英文)——免cd修改

  [复制链接]
darkf 发表于 2024-9-2 19:21
一、概况



《英雄无敌》3,在是魔法门6取得巨大成功,又在《英雄无敌》2大热后,new world computing大力开发并完善的一款益智类策略游戏。最初版本《埃拉西亚的光复》(简称ROE有8个种族,城堡(Castle)、塔楼(Tower)、壁垒(Rampart)、要塞(Fortress)、据点(Stronghold)、地狱(Inferno)、墓园(Necropolis)、地下城(Dungeon),每个族有7个等级的兵种,兵种都有升级模式,加上6种中立兵种,ROE共有118种单位;而资料片《末日之刃》则增加了元素生物和一些中立生物,合计141种。第二个资料片《死亡阴影》(The Shadow of Death,简称SOD),发行于2000年3月31日。因为元素城的不平衡,在SOD中被取消了,不过单位的设计依然存在,此外游戏添加了7章新战役,新的传送门和7种新的特殊地形,以及12个组合宝物,可以说很多人玩大地图就是了收集宝物特别是组合宝物的快感,同时游戏还平衡修正了一些数值,增加了护城河伤害和战役难度选择。至此SOD共有141种兵,与上一个资料片完全相同。
接着,3DO公司又将三部合并成一个完整版(Complete Edition)进行了发行,本次免CD修改就是在该版本上进行的。




二、逆向过程




首先放进Die检测一下壳情况


h3-0.png


可知是没有壳的。


用OD打开程序


h3-1.png



自然先去搜索字符串


h3-2.png


情况不妙,居然没有搜索到,说明根据没有CD的提示字符串去寻找程序检查光驱的子程序,这条路径是不通的,得另想方法。


这时得祭出WinAPI了,与光驱有关的API,给下图的2个API打上断点


h3-3.png


检查一下断点情况,没错,正是所要的




h3-4.png


运行程序后,程序被断下




h3-5.png


跟进去,来到调用处




h3-6.png


此时,我的虚拟光驱是挂载的,所以,看到该API的返回值是eax=5,从注释来看,5正好是DRIVE_CDROM。




h3-7.png


接着run to return看看是否出现没有CD的提示以及是那个调用的这个子程序。结果没有提示出现,而来到了调用处。




h3-8.png


很显然,这个call就是检测CD的关键call了。撤掉前面对Drive的API断点,在此call处下断点。但在运行前,先看看程序后面有什么东西。显然这个程序的返回值先被保存到[69957C],后面接着的2个相同的call都是提示有问题的,会导致程序关闭的。




h3-9.png


在上面2个提示call之后,还将存在[69957C]里的那个子程序的返回值调出来,如果不为0的,将跳转;若为0的,还会在后面将5、6冲掉[69957C]里面的数值。




h3-10.png


如果关键call的子程序返回值不为0,将会跳转到这里(如图)




h3-11.png


这样,就可以在关键call的子程序返回值上动脑筋了。


首先,返回值5、6可以排除。


接着,把正确的play盘挂载上去,看看返回值是多少?结果是0




h3-12.png


再把虚拟光驱卸载,即没有光驱,结果是2




h3-13.png


再把虚拟光驱加载但挂载是非play盘,结果还是2




h3-14.png


再看该子程序中,有5种情况的返回值,分别是:


[Asm] 纯文本查看 复制代码
0050C21C  |.  B8 03000000   mov eax,3
0050C23F  |.  B8 04000000   mov eax,4
0050C302  |.  33C0          xor eax,eax
0050C4D1  |.  B8 02000000   mov eax,2
0050C592  |.  33C0          xor eax,eax



至此,知道了eax的情况,大致有:0、2、3、4、5、6。


下面,先试试不调用这个子程序情况能否运行?即将call改成直接跳过。结果是程序中断。


h3-15.png


既然直接跳过不行,那就直接给eax赋值。先试试1。




h3-16.png


结果还是出现没有CD的提示,说明1不正确。再试试7,结果成功了。




h3-17.png


再试试8,也是可以的。




h3-18.png


说明大于6的返回值都是可行的。至此,免CD基本成功了。




三、不足之处


这样免CD后,由于游戏中有的资源(如:战役模式中的动画,应该是存在光盘上的,所以只有文字而没有动画了,还有就是失败后,被斩首的动画也没有)是存在光盘上,涉及这些资源的游戏调用,自然就调用不到了。




四、hex编辑软件直接修改


如果不想使用OD的,也可以直接使用hex类的编辑软件如:010Editor,进行直接修改。从前面的图片可知,要修改的命令是在004ED9A6地址的call 0050C1C0,将其改为:mov eax,7即可。


下面用010Editor打开heroes3.exe,选search工具栏里的go to




h3-19.png




在地址栏里输入000ED9A6,这个就是call 0050C1C0命令行的偏移地址,再回车




h3-20.png



来到这里,其中:E8 15 E8 01 00正是call 0050C1C0




h3-21.png


将其改成:B8 07 00 00 00,即mov eax,7即可,保存的程序就是免CD的了。




h3-22.png



五、资源下载




《英雄无敌》3complete版(英文)下载:


https://www.123pan.com/s/7jpKVv-7bjCh


《英雄无敌》3complete版免CD修改后的程序和win11可以直接运行的HD补丁下载:


https://www.123pan.com/s/7jpKVv-YZjCh

免费评分

参与人数 17吾爱币 +23 热心值 +16 收起 理由
从周啊 + 1 + 1 我很赞同!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
尘世萧遥麟 + 1 + 1 热心回复!
52rap + 1 + 1 谢谢@Thanks!
happy1every1day + 1 + 1 热心回复!
wanfon + 1 + 1 热心回复!
tomanpj + 1 谢谢@Thanks!
spawn_fly + 1 + 1 2024年了,还有人记得英雄无敌这款游戏,难得
corleoneYellow + 1 + 1 我很赞同!
wnsgrs + 1 + 1 谢谢@Thanks!一直玩了这么多年的游戏,经典!!!
Natu + 1 + 1 谢谢@Thanks!
amouer + 1 + 1 我很赞同!
angelabebe + 1 + 1 热心回复!
daoye9988 + 1 + 1 谢谢@Thanks!
haopengyou + 1 + 1 用心讨论,共获提升!
qiaoyong + 1 + 1 热心回复!
xiangzz + 1 + 1 希望上传一个bd网盘,谢谢!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xiangzz 发表于 2024-9-3 05:32
经典的游戏,一台电脑多个小伙伴一起玩!
plazy 发表于 2024-9-4 09:07
陪伴了二十年的游戏,一直在我的桌面上占有一席之地,每次看到图标都是满满的回忆!现在偶尔还用来摸鱼,致敬经典!!
求大佬分流一下,刚点下载要注册、收费?
EssenceA1 发表于 2024-9-3 06:33
简单头脑 发表于 2024-9-3 07:58
这个是真经典的,当年都是不停的刷着玩。
nitian0963 发表于 2024-9-3 07:59
这个厉害,当年爱不释手的游戏
sunshinezero 发表于 2024-9-3 08:07
经典游戏 玩了好多年
坐久落花多 发表于 2024-9-3 08:24
当年挺喜欢H3的尤其是末日之刃,可惜后面的版本都不喜欢
dopey 发表于 2024-9-3 08:24
没玩过,有时间试试
windyhef 发表于 2024-9-3 08:26
当年多么火的游戏,就是现在年纪大了玩不动了,不过还是感谢楼主分享。
wdo1106 发表于 2024-9-3 08:31
经典游戏,细节操作拉满
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 00:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表