关于单机游戏动态内存基址问题

现在的单机游戏几乎都是进行动态分配变量地址,因此,单单使用CE搜索出来的值根本不能实现任意电脑任意系统的内存修改!
这里用易语言为例,主要步骤先找基址——然后再找偏移值就好!
一、准备工作:
1、需要先下载植物大战僵尸的游戏,由于程序比较大,大伙儿可以自己上百度下载个吧。
2、CE游戏修改器和外挂海万能模块可以到外挂房的“精品软件共享区”里下载。

二、获取内存信息:
1、先打开游戏,并进入“冒险模式”,如图:

此主题相关图片如下:

2、再打开CE,如图:

此主题相关图片如下:

3、点击CE左上角的“打开进程”,并选择游戏的进程“plantsvszombies.exe”并按“确定”,如图:

此主题相关图片如下:

4、我们看到游戏中当前的“阳光”值是50,如图:

此主题相关图片如下:

那么我们就在CE数值中输入:50,然后点击“首次搜索”,如图:

此主题相关图片如下:

可以看到,共找到3213条信息。
我们现在再回到游戏玩一会,让“阳光”值变化一下,如图:

此主题相关图片如下:

可以看到,现在“阳光”值是:25,现在我们再用CE搜索25看看(注意,这次要点“再次搜索”),如图:

此主题相关图片如下:

好了,我们现在只找到一条信息,我们现在要改的就是对这条信息进行操作了。

5、对上图中左上角绿色圈内的那条信息双击鼠标左键,就会自动复制到下面的框中,如图:

此主题相关图片如下:

6、我们对下面框中的内存地址点击鼠标右键,然后选择“寻找所有使用这个地址的代码”,如图:

此主题相关图片如下:

如果有出来对话框,就点“yes”即可。

7、这时出来如下图所示的信息框:

此主题相关图片如下:
我们现在双击其中带有“mov”的信息,出来如图:

此主题相关图片如下:

图中红色字部分是为内存偏移值,我们只要记住后面的“5560”即可。
第2个红圈中的值是内存指针,我们要复制下来再搜索,直接点击右键–复制即可。

8、把这顶上的二个对话框都关闭,回到CE主面板,然后先点击“新的搜索”,再把“Hex”打勾起来,之后把刚才的指针地址粘贴进来搜索,如图:

此主题相关图片如下:

9、好了,我们现在只要把搜索到的左上角第一个地址抄下来即可,这个是为内存的“基址”,我们找到的是:00D68540

我们只要知道该游戏的内存基址00D68540和内存偏移值5560就可以了,现在我们可以打开易语言设计外挂了。

三、外挂制作:
1、打开易语言,并新建一个“windows窗口程序”,如图:

此主题相关图片如下:

2、点击左边的“程序”选项,在“模块引用表”处点右键,选择“添加模块引用”,选择“外挂海”的模块文件,扩展名为.ec,如图:

3、现在,我们修改一下窗口的属性并为窗口添加一个按钮,具体就不介绍了,如图:

4、我们先在窗口空白处双击鼠标左键,进入“窗口程序集1”,在上面“窗口程序集1”的右边点击一下,并按回车键,输入变量:

程序名 整数型
地址1 整数型
地址2 整数型

然后再点“_启动窗口创建完毕”的下面输入:

程序名 = 取进程ID (“plantsvszombies.exe”)

再回到窗口,在“按钮”处双击鼠标,进入“按钮1被单击”的下面输入:

地址1 = 读内存整数型 (程序名, 十六到十 (“00D68540”))
地址2 = 读内存整数型 (程序名, 地址1 + 十六到十 (“5560”))
写内存整数型 (程序名, 地址1 + 十六到十 (“5560”), 到整数 (地址2) + 1000)

可以看出,上面红字部分就是我们之前用CE找到的内存基址和内存偏移值了,后面的加1000就是我们要增加的“阳光”值了,当然你想加多少就改多少了。如图:

5、好了,我们先来测试一下这个简单的外挂吧,如图:

未点击按钮的“阳光”只有25

点击一次按钮,“阳光”增加了1000

点击十次按钮,“阳光”增加了10000,呵。

你可能感兴趣的:(易语言)