轩辕春秋文化论坛 » 步步为营 » 提供个工具:dosbox游戏修改器


2017-2-23 19:03 likelove
提供个工具:dosbox游戏修改器

提供个工具:dosbox游戏修改器,实现对dosbox内存的修改,不需要改动游戏exe文件本身,方便使用

已根据周瑜总结的补丁,把相关数据都纳入啦:!!

欢迎试用。

暂无生命、魔法等锁定功能。


附上dosbox game trainer及三国英杰传示例脚本

更新:1005版本支持在offset中使用段名称,修复在扩容程序中会崩溃的bug

0220更新1010版:
    offset中可使用常规偏移地址,或段地址+偏移地址
    修改模式增加了basic模式,即修改后不再恢复
    增加查看内存功能,目前可显示两块内存,在程序关联后即可使用。其中段地址支持307d等直接的数字,也可以用[sg07],两者效果一样;偏移1可以是正常的地址,如5508,与前面的段地址配合,则显示类似307d:5508处开始的数据,也可以用p5508、P5508、*5508表示这是一个段指针,这时会从类似307d:5508处取段数据,再配合后面的偏移2显示该处数据。

[color=Silver][[i] 本帖最后由 likelove 于 2025-4-8 19:07 编辑 [/i]][/color]

2017-2-23 19:17 住持方丈
怎么用啊?

2017-2-24 08:20 likelove
运行dosbox后,运行这个小工具就可以了,总共就那几个按钮:hz1009:

注意dosbox的版本号,在ini文件中用;切换一下相应版本数据即可

版本信息一致就可以关联成功,这时点“修改”,会按ini文件[modi]、[m1]、[m2].....指示的地址、代码进行查找替换,在内存中对exe文件的执行代码打补丁,之后可以选“恢复”回复到未修改状态,或者直接 解除关联、退出,在本次游戏结束前,相应代码仍处于被修改状态

[color=Silver][[i] 本帖最后由 likelove 于 2017-2-24 08:46 编辑 [/i]][/color]

2017-3-5 23:11 阿尔法孝直
测试了D-FEND+dosbox 0.74,可以使用

2017-3-6 11:41 likelove
[quote]原帖由 [i]阿尔法孝直[/i] 于 2017-3-5 23:11 发表
测试了D-FEND+dosbox 0.74,可以使用 [/quote]

多谢支持,希望能用点用:hz1026:  这个主要目的是方便改dos程序代码,在内存中实时就可以完成,比如在dtest.ini测试了显示地形信息时跳过最后一个call调动,那个信息就不会自己清除了

稍微更新一下,调整几个按钮的位置,支持自选ini文件(不选的默认是dt.ini)

2017-3-16 17:59 likelove
将main.exe 行动价值显示部分完善了一下,用鼠标框指示位置(因为未滚屏,有时指示框会跑出屏幕外,不影响运行),上面一栏显示行动价值

输出信息说明:武将或部队名称+战场序号  行动坐标X Y   行动价值V(通常比物理或策略价值大1)    A物理攻击目标   P物理价值    策略名称及目标   M策略价值
用鼠标点击继续

程序默认是显示大于1的输出,按以下修改可以显示大于0的:

caption=价值输出
ovr=0
s=3c01
r=3c00
offset=a636
mode=normal

2019-3-16 14:59 heyou
回复 #6 likelove 的帖子

要等敵軍回合才會重新計算,我方回合時,即使我方移動位置也不會重新計算
有快捷鍵能現在計算嗎?

2019-4-12 15:35 likelove
[quote]原帖由 [i]heyou[/i] 于 2019-3-16 14:59 发表
要等敵軍回合才會重新計算,我方回合時,即使我方移動位置也不會重新計算
有快捷鍵能現在計算嗎? [/quote]

这个无法实现。
现有显示行动价值信息,只是在NPC计算时把这个过程中的中间结果显示出来,即

原流程:
循环计算当前NPC行动价值
选择最大行动价值方案
执行该方案


新流程:
循环计算当前NPC行动价值
程序跳走
     显示行动价值
程序跳回
选择最大行动价值方案
执行该方案

不知说清楚了没有:hz1009:

2025-4-8 16:03 宛君
只能改三国英杰传吗?


2025-4-8 19:12 likelove
通用的,只要是dosbox的都支持,但需要用ida分析,确定相关参数和要修改的内容。

不同类型程序修改难度不同:

   不少游戏是加壳的,需要先脱壳才能分析;
   
   有的是带ovr段,游戏载入后不是所有数据都加载入内存,ovr段需要运行时需要才加载,像三国4就是这样,需等相关代码载入后再修改才发挥作用。

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.