2024年3月25日发(作者:)
怎么制作游戏修改器,适合初学者
怎么制作游戏修改器
2008-06-21 22:22
游戏修改器制作-黑客入门
工具:SoftICE、金山游侠2002、VC++7.0、PE查看器、SPY++ 测试平台:Window2000
Professional SP2
首先我介绍一下将会用到的工具:
1、 SoftICE(不用多说了吧,我想你应该会用)
2、 金山游侠2002(这个你也应该会用)
3、 VC++7.0(不要求你一定会用,但至少应该会一种编程工具) 4、 PE查看器(你可以随意找一个,没
有也没关系,我会教你用SoftICE查看) 5、 SPY++(VC里的一个查看程序信息的工具,你可以和别的,比
如Delphi和C++Builder的WinSight32)
然后就是你应该会的知识:
1、 汇编基础
2、 一些编程基础,至少应该看懂我介绍的几个API函数
3、 PE文件结构的基础,不会也没关系,我会解释给你
以上几点你都具备了的话我们就可以开始了。
我来介绍一下我要教给你的东西。想必大家都玩过PC游吧,那么也一定用过一些专用的游戏修改器
吧,比如暗黑,红警,大富翁这些经典的游戏都有它们专用的修改器,注意,我说的不是FPE之类的通用
修改工具。
你试没试过用金山游侠修改红警二的金钱,如果有的话你应该知道每玩一次就要改一次,因为这个游戏
是动态分配内存的,每次重新开始都会改变。所以你会选择到网上去下载一个专用的修改器,那么你有没
有想过自己做一上呢,想过,那你为什么不做,什么不会,那就好办了,看了这篇教程你就会了:D费话少说,我
来讲一下原理。
有一些经常修改游的朋友一定会知道,不论游戏中“物品”的内存地址是否是动态的,物品与物品之
间相隔的距离都是不变的,我拿“楚留香新传”为例,我先用金山游侠查找内力值的内存地址,找到的结
果是:79F695C,再查找物品“金创药”的地址是:328D1DC,现在我用79F695C减去328D1DC,得
到:4769780,这个数就是内力值与金创药的偏移值,没看懂,接着看呀,我还没说完呢,现在重新再运行游
戏,查找内力值的地址,得到:798695C再查找金创药得到的地址是:321D1DC,两个值的内存地址都改变
了,但是用你内力值的地址减去金创药的地址得到的结果是什么,没错,还是4769780,也就是说,无论这
两个值的内存地址变成多少,它们之间的距离是永远不变的,不光是这个游戏,一般的游戏都是,
至少我没见过不是的:D
上面讲的东西总结出一个结论,那就是我们只要得到这两个地址中的任何一个,就可以得到另外一
个,只要你知道它们之间的偏移量是多少。 我们第一步要做的就是得到这个地址,但是内存中的地址是动
态改变的,得到也没有用,这里我就教你把它变成静态的,叫它永远都不变~我继续拿“楚留香新传”为
例,如果你有这个游的话就跟我一起做,没有的也没关系,只要看懂这几个步骤就行了。开工~


发布评论