银河漫步 发表于 2011-6-6 20:58:15

CheatMaker 实例入门教程 DOSBOX0.74的 三国志英杰传 修改器 + 源文件

本帖最后由 银河漫步 于 2011-6-6 21:25 编辑

首先,DOSBOX的数据不是静态地址

我们从最简单的人物兵力开始入手

我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)

当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
启用CE调试刘备的兵力地址

找到基地址后验证一下

现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持

把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”

添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了

然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑

再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
只需要写上
1-刘备
2-关羽
3-张飞
这样的东西
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来

添加完保存下,然后运行一下修改器

可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
按钮有几个功能,读取数据、保存数据是两个最基本的功能
创建窗体也是个实用功能,本次不讲这个

我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下

最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
因为这里没用到特殊插件,故可直接生成即可


最后是该修改器的源文件随意参考下

湘西小人物 发表于 2011-6-6 22:13:39

好好学习·有时间也自己做修改器

孤独逍遥 发表于 2011-6-6 22:45:52

很好的教程 辛苦了

money_114 发表于 2011-6-6 23:22:08

本來想做超時空英雄傳説的修改器, 不過發現個問題, 用CE查, 在沒有關閉dosbox的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了

银河漫步 发表于 2011-6-7 07:06:38

本來想做超時空英雄傳説的修改器, 不過發現個問題, 用CE查, 在沒有關閉dosbox的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
money_114 发表于 2011-6-6 23:22 http://bbs.emu618.com/images/common/back.gif

天枫对DOSBOX的基地址添加有问题
他想兼容各个版本
于是采用了特征码的方式进行定位
这种不准确,于是出现了做轩辕剑修改器的那种情况

但是DOSBOX属于每个版本基地址不同、偏移也不同的东西

不过你遇到的这种数据变址的情况还是比较特别的
游戏拿来我有空研究下

money_114 发表于 2011-6-7 12:04:03

5# 银河漫步

http://u.115.com/file/dnszl2u9
軒轅劍還在可接受範圍内, 超時空實在是太怪了

李伟 发表于 2011-6-7 18:39:23

银河,能不能说下基础地址怎么查找,我不懂。

银河漫步 发表于 2011-6-7 19:31:18

5# 银河漫步

http://u.115.com/file/dnszl2u9
軒轅劍還在可接受範圍内, 超時空實在是太怪了
money_114 发表于 2011-6-7 12:04 http://bbs.emu618.com/images/common/back.gif

我读了里面各种存档
就没那个存档可以让我改金钱的....

银河漫步 发表于 2011-6-7 19:56:39

这游戏的内存调用确实不是一般的怪
从指针到偏移地址都是动态分配的

money_114 发表于 2011-6-7 20:58:20

本帖最后由 money_114 于 2011-6-7 21:01 编辑



我读了里面各种存档
就没那个存档可以让我改金钱的....
银河漫步 发表于 2011-6-7 19:31 http://forum.emu618.com/images/common/back.gif
你願意研究的話可以試下這個存檔,我已經放棄做修改器了

發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

银河漫步 发表于 2011-6-7 21:51:31

刚才重新开始游戏试过了
确实是奇怪的内存分配方式

李伟 发表于 2011-6-9 13:41:31

银河,你要么去我爱秘籍论坛看看。那里有高手,或者问团长。

银河漫步 发表于 2011-6-10 15:10:27

5# 银河漫步

http://u.115.com/file/dnszl2u9
軒轅劍還在可接受範圍内, 超時空實在是太怪了
money_114 发表于 2011-6-7 12:04 http://bbs.emu618.com/images/common/back.gif

非进程的指针
是模块的指针
难怪无法进行绝对寻址
暂时想不出办法

money_114 发表于 2011-6-11 13:12:04

13# 银河漫步

遊戲通關, 已執行清理操作

wanke47 发表于 2011-7-2 18:54:52

怎么我下载不了啊

zzz5655 发表于 2011-11-2 17:10:04

我看不太懂
你那個偏移量401D4
是怎麼來的??

可以的話你可以詳細在教一下
找基地指的方法嗎?

lj_107 发表于 2024-3-24 01:23:10

谢谢楼主无私的分享
页: [1]
查看完整版本: CheatMaker 实例入门教程 DOSBOX0.74的 三国志英杰传 修改器 + 源文件