《英雄无敌》3MOD——深渊号角——回城术修改(让没有土系高级英雄也能选择城堡)

一、前言

《英雄无敌》3MOD《深渊号角》的回城术,不像二代那样分大小回城术,而是根据英雄的土系属性是否达到高级或以上级,分大小回城术。有的英雄,可能很难出现土系属性让其发展,对于这样的英雄也就永远没有大回城术使用了,这无疑是这样的英雄的悲哀!
这次修改就是让所有英雄,只要能学到回城术,就可以选择到达想去的城堡。
本次修改是在《深渊号角》英文版1.8.0上修改的。

二、逆向过程

1、CE查找字符串

《深渊号角》游戏对字符串已经作了处理,反正用OD是搜不到的,无论有没有加载,因此想通过字符串查找到回城术的子程序是行不通的。那应该如何查找呢?
在前面《英雄无敌》3回城术修改一文中已经说明过,可以使用CE进行字符串查找。
在没有修改前,没有土系高级魔法技能的英雄使用回城术只能返回最近的城堡,若最近城堡被其他英雄占据,则会出现回城不成功的信息

1
不成功的信息就是Nearest Town Occupied。这就是关键字符串

2
打开游戏,用ce加载游戏

3

打开ce的内存观察框,搜索字符串Nearest town

4

右键选择地址,将其添加到列表中

5

在内存观察对话框里,选择工具栏调式(debug),勾选位断点(会有提示,选确认)。再在列表框里右键选择刚添加的地址,选中“找出什么访问了该地址”,出现如下的空白对话框

6

这时到游戏中,将一个英雄进入城堡,而要施放回城术的英雄就在城堡旁边(即最近的城堡被占用,让施法失败的提示信息出现).这时刚刚空白的对话框里就出现了2条访问所选地址的信息。打开信息资料,就找到地址:

7

2、OD定位到ce查到的地址

打开OD,attach游戏,再go to地址:4F6C67

8
向上翻找,就发现了子程序004F6C00,这个就是回城术调用程序里需要调用的一个子程序(也就是说,回城术子程序里一定会出现调用这个子程序的地方)

9
然而,很遗憾,在win11(25H2,OS:26200.9168)里,OD或者X32DBG都不能正常运行调式了。因此,直接逆向已经不可能,必须另寻方法。

3、TXT文件查找地址

在OD里,将全部内容复制到一个txt文件里,然后查找子程序4F6C00

10
根据以前的博文
https://www.cnblogs.com/dark-f/p/18459613
可以知道,回城术的子程序在调用这个子程序时,前后的一些关键信息,可以在txt文件中通过搜索子程序4F6C00注意上下文的情况,可以很快定位到如下地址

11
再向上翻找,就可以定位到关键比较处

12
只要把比较数值的2改成0即可,这个可以回到OD里去修改,再保存修改后的游戏即可。

三、测试

用修改后游戏,再使用回城术,结果可以看到,已经出现城堡选择了,说明修改成功。

13

四、相关下载

深渊号角1.8.0英文版的回城术修改后的程序下载(2个地址一样的)

蓝奏:

https://wwbxd.lanzoup.com/iCeOH44pb5bg

百度:

通过网盘分享的文件:h3hota.zip 提取码: 6r1i

https://pan.baidu.com/s/1b_1nR7zh5m_79dv9yy8Zaw?pwd=6r1i

posted @ 2026-08-26 16:22  dark-f  阅读(104)  评论(0)    收藏  举报