首页
社区
课程
招聘
[原创]OD搜索不到字符串——实例图文教程——让你再也不惧找不到字符串
发表于: 2024-11-5 08:47 2948

[原创]OD搜索不到字符串——实例图文教程——让你再也不惧找不到字符串

2024-11-5 08:47
2948

《英雄无敌》3的回城术,不像二代那样分大小回城术,而是根据英雄的土系属性是否达到高级或以上级,分大小回城术。有的英雄,可能很难出现土系属性让其发展,对于这样的英雄也就永远没有大回城术使用了,这无疑是这样的英雄的悲哀!
这次修改就是让所有英雄,只要能学到回城术,就可以选择到达想去的城堡。
从小回城术的最近城堡如果有英雄,则有回城不成功的提示。看下图:
1
《英雄无敌》3游戏对字符串已经作了处理,反正用OD是搜不到的,无论有没有加载,因此想通过字符串查找到回城术的子程序是行不通的。关于这点,在这篇文章中已经介绍过。
《英雄无敌》3完整版complete(英文)——免cd修改
用MessageBox这个API函数也是没有用的,因为游戏中提示信息不是直接使用MessageBox的,至于其它的API我也没有仔细思考。那应该采用什么方法的呢?实际上,可以用ce来找到OD或者X32dbg都搜索不到的字符串问题。

打开游戏,用ce加载游戏,打开ce的内存观察框,搜索字符串Nearest town,右键选择地址,将其添加到列表中:
2
列表中就有这个地址了
3
再在列表框里右键选择刚添加的地址,选中“找出什么访问了该地址”(会有提示,选确认)
5
出现如下的空白对话框
6
这时到游戏中,将一个英雄进入城堡,而要施放回城术的英雄就在城堡旁边(即最近的城堡被占用,让施法失败的提示信息出现).这时刚刚空白的对话框里就出现了2条访问所选地址的信息。打开信息资料,就找到地址:004F65D7和004F6601
7
回到X32DBG中,GO TO其中任一个地址
8
来到子程序中
9
向上翻找,就发现了子程序004F6570,成功找到施放回城术的子程序!
10
于是便在004F6570处下断点
11
结果在调用回城术时真断下来了。而且在其上还看到了找不到的那个字符串:"Nearest town occupied. Spell Failed!!!"
只要断下来了,下面的工作就简单了。先让X32dbg运行至return,返回到调用程序中。
12
再向上找到程序的开始处。
13
然后在这里重新下断点,把程序走一下看看。
14
这次用土系专家来施放回城术
15
了解《英雄无敌》3的都知道,英雄技能学到了就是basic,再升一级就是advanced,最后就是expert,分别对应1,2,3级,没有该技能就是0级。一路走下来,很快就看到了关键比较
16
可以看到,程序中是拿英雄的技能属性与2(advanced)去比,小于2的就跳转。自然,把这个2改成0,则没有土系技能(等级0)也不会跳转了。
17
改好后,保存下来。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (9)
雪    币: 16416
活跃值: (1660)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
@fdark  
原版本大不大,在哪下载?得亲手感受下修改乐趣才是。
2024-11-5 09:59
0
雪    币: 4237
活跃值: (1618)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
killbr @fdark 原版本大不大,在哪下载?得亲手感受下修改乐趣才是。[em_13]

这个贴子里有下载地址,大约1G的2个光盘镜像(那里还有补丁,也下了,打上,win10、11玩都没有问题,下载速度很快的,俄罗斯的网站)
https://bbs.kanxue.com/thread-284239.htm
补丁也可以到下面地址下载:
https://www.cnblogs.com/dark-f

最后于 2024-11-5 10:11 被fdark编辑 ,原因:
2024-11-5 10:10
0
雪    币: 16416
活跃值: (1660)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
@fdark  
 多谢!有没有兴趣对《圣眼之翼》这个老游戏进行汇编分析修改?
比如游戏带队总人数不能超过每队16人,总数超30人。
以前汇编成功过人数汇编修改成了16*5,游戏过关后算经验时卡死了。
再有汇编成无限升级(现在升到百战英雄就不长了)
这个游戏有秘籍的,点选中敌人后左下角小地图右击就能控制它行动方向了(危机时刻使用)
2024-11-5 19:22
0
雪    币: 4237
活跃值: (1618)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
@killbr 不好意思,我玩的游戏范围很窄的,只玩一点rpg和英雄无敌1-4,而且现在也很少玩了。目前兴趣在英雄无敌4的一些分析上
2024-11-5 20:12
0
雪    币: 141
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
这种方案我感觉受局限 字符串用完释放 这个方法就不行了
2024-11-9 12:40
0
雪    币: 2708
活跃值: (2123)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
好专一,都是英雄无敌。哈哈
2024-11-9 14:36
0
雪    币: 4237
活跃值: (1618)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
8
@mb_ihgczpkl
只要它用了,CE就可以追到访问地址,之后就与之无关了,所以不管它施放与否
2024-11-9 14:48
0
雪    币: 4237
活跃值: (1618)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
9
@boyving
自出现后就保存在电脑中的游戏,只有这些
2024-11-9 14:49
0
雪    币: 3
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
非常棒,寓教于乐,很有启发
1天前
0
游客
登录 | 注册 方可回帖
返回
//