Board logo

标题: 实在不行hiew之类的反汇编,求高人指导给出san5 dospk下的一些修改地址! [打印本页]

作者: 黄汉升    时间: 2015-12-6 23:15     标题: 实在不行hiew之类的反汇编,求高人指导给出san5 dospk下的一些修改地址!

如简体版的计谋范围,妖术,火计,伏兵,混乱,内控等范围,灾害,学阵概率,单挑大小必杀概率,移动,赏赐消耗指令等等。

一直没人研究dospk,如果有人做main.exe的修改器或公布修改方法,愿意支付2000元做开发酬金。

可加QQ:17031198进行私聊。谢谢。
作者: 常来看看    时间: 2016-2-28 15:44

这里有DOS普通版的修改工具和部分代码记录,http://www.xycq.net/forum/thread-278517-1-3.html,下载里面第6个文件。

DOS加强版跟普通版的代码应该有很多类似的地方,但是绝对地址不一样,只能自己去跟踪,查找和记录了。
作者: 常来看看    时间: 2016-2-28 16:42

以下举例说明通常的查找和修改方法,就拿赏赐消耗指令来说,

1.找到写入势力指令数的函数(可以设数据断点跟踪,也可以通过自己或别人做的代码记录中直接查到绝对地址)
2.在该函数入口处设置程序断点
3.运行游戏,做一次赏赐,会在该写入势力指令数的函数里断下来
4.单步执行程序,返回到调用写入势力指令数的函数的上级或上上级函数,前面调用的参数里应该有类似于“AX势力,扣DX个指令”的内容,记下前后的16进制特征字符串和需要修改的字节
5.用16进制编辑器,在main.exe中定位到该处,把“扣1个指令”的汇编代码,改成“扣0个指令”
6.重新进入游戏,执行2~4,检查修改后的效果(以防改错地方)

其实还要复杂一点,因为不仅要修改赏赐后扣指令的代码,还要修改赏赐前检查指令数是否足够的代码(不然0个指令的时候就不让赏赐了)。

1改成0,这是最简单的一种了,有些修改要麻烦得多,需要用自己写大段的汇编代码,用debug汇编成机器代码,然后填到main.exe里面去。
作者: 常来看看    时间: 2016-2-28 16:43

以下举例说明通常的查找和修改方法,就拿赏赐消耗指令来说,

1.找到写入势力指令数的函数(可以设数据断点跟踪,也可以通过自己或别人做的代码记录中直接查到绝对地址)
2.在该函数入口处设置程序断点
3.运行游戏,做一次赏赐,会在该写入势力指令数的函数里断下来
4.单步执行程序,返回到调用写入势力指令数的函数的上级或上上级函数,前面调用的参数里应该有类似于“AX势力,扣DX个指令”的内容,记下前后的16进制特征字符串和需要修改的字节
5.用16进制编辑器,在main.exe中定位到该处,把“扣1个指令”的汇编代码,改成“扣0个指令”
6.重新进入游戏,执行2~4,检查修改后的效果(以防改错地方)

其实还要复杂一点,因为不仅要修改赏赐后扣指令的代码,还要修改赏赐前检查指令数是否足够的代码(不然0个指令的时候就不让赏赐了)。

1改成0,这是最简单的一种了,有些修改要麻烦得多,需要用自己写大段的汇编代码,用debug汇编成机器代码,然后填到main.exe里面去。
作者: 常来看看    时间: 2016-2-28 16:50

你让别人找这些修改的具体地址,其实他也是要用跟踪和反汇编工具做上面这些步骤的,只不过经常做熟练度高一点。

可行的解决办法,一是自己去钻汇编代码(像上面这种简单的修改还是可以的),积累修改经验,二是我以后发布的补丁版本,会逐步提供一些规则公式的参数地址,让玩家在文本文件里通过设置参数来调整规则。




欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) Powered by Discuz! 5.0.0