首页 > 技术文章 > 星际争霸修改教程

jourluohua 2018-08-10 19:50 原文

上期发了一个RA2的修改教程,这次想要介绍星际争霸的一些修改,有了这两个教程,可以说大部分游戏的数值修改都可以进行。

上次的修改技术主要使用的是地址指针的方式,这一次在上一次的基础上进行了一些升级,引入了代码注入的方式。

按照常规方式,找到游戏中的gas,也就是所谓的气矿的数值地址,使用是什么改变了这个地址的值进行查找,发现是sub [eax+00508748],edx的代码进行了修改

确定这条指令后,我们就可以进行代码注入了。

在工具中选择自动汇编选项

然后先生成作弊代码框架,再选择代码注入方式

然后再页面中找到刚才的sub指令,也及时originalcode标签下的代码内容,将其修改成你想要的汇编代码即可

我是将其修改成了mov [eax+00508748], 5000   //也就是一消耗gas,就将gas的值设置为20480

然后保存在作弊表中

 

下边内容是针对星际中的人口上限进行修改了。这个值比较难查,因为在实际的存储中使用的是真实显示值的两倍。(这个应该是作者有意的一个设置,应该是为了增加作弊器的实现难度,其实也无所谓,游戏中的数值是精确数值的一项很少,比如这里采用的是原来值的两倍,而文明5中采用的是浮点转整数的形式。不过这些困难我相信难不倒大家)

更改地址中值的代码是

按照上边的步骤,汇编代码

这里我没有选择太大的值,是因为星际中的人口上限是200(大概是这个数,很久没玩了,突然在虚拟机中找到了这个游戏,又稍微有点时间,就写了这个教程),游戏修改要尽量不破坏游戏的固定机制,否则就有可能导致游戏的崩溃。

保存到作弊表中后,按照上一节的步骤123的进行修改器的生成

项目加好后,选择对应的进程,生成修改器

就这样,一些按F2键激活水晶(money)功能的修改器trainer就做好了,打开游戏后,随便什么消耗水晶后,就会变成20480多的水晶。游戏截图忘记录屏了,等有空了再补。

推荐阅读