初学教程_之内存读写写法(一) 植物人大战僵尸 制作
本帖最后由 我不在冷 于 2015-1-19 10:22 编辑初学教程_之内存读写写法(一) 植物人大战僵尸 制作
我们先用CE来寻找一下阳光的基址于偏移。
CE全称Cheat Engine汉译为:作弊引擎
汉化技巧:把CE的存放目录的名字全部都必须全是英文或者数字不能出现一个汉字否者汉化失败。
运行指示:Windows XP或者Windows7 32位的都运行CE目录下的Cheat Engine.exe如果是Windows7 64位的则运行cheatengine-x86_64.exe
我们打开CE点击左上角闪动的小电脑载入我们植物胆战僵尸的进程如下图:
我们搜索现在的阳光数如:9990,点击首次扫描找到两个全部双击拖下来。
修改他们的值看看植物大战僵尸的阳光数会不会变化。我们修改第一个值后植物的阳光数就变化了所以第一个地址是正确的。
我们开始右键正确的地址-找出是什么访问了这个地址。CE提示我们是否加载提示器我们点击“是”会显示出一个窗口我们点击第一个会显示另一个窗口,这个窗口会给我们显示出植物的偏移与寄存器基址如下图:
add eax
edx= 1C3F09A8
我们把edx=1d8717b8的地址输入CE的编辑框里勾选Hex输入地址搜索。我们找的通常第一个地址。双击第一个地址。
我们继续上一次的步骤。
Mov edi
Esi=003BAF10
我们搜索Esi的地址003BAF10当我们搜索出来后我们往下拉看到绿色的地址后就是正确的植物基址:
这个绿色的地址就是植物的基址了。
植物基址=007794F8
就是这样找到的基址于偏移的。
进入正题:
导入组件
主要组件:
选择框一个 时钟一个
帮助组件: 帮助模块
开始写代码-------------------------------------------------------------------
建立一个程序集变量-进程ID双击窗口写一个代码取进程ID(“植物大战僵尸的进程名”)赋值于建立的程序集变量-进程ID(整数型)双击时钟在时钟的的子程序里建立二个变量-一级偏移(整数型)+二级偏移(整数型)在时钟的子程序下输入代码
植物基址偏移
add eax
edx=1d8717b8
mov edi,
esi=00a1af50
植物基址=007794F8
这里的植物基址是一个常量所以在易语言里建立一个常量
.版本 2
.常量 植物基址, "“007794F8”"
这样就可以写代码了。我们首先要读取植物的阳光内存代码如下图:
为什么要这样写呢因为这跟CE添加指针的步骤一样,偏移说的就是图中的“5578”和“868”因为我这里用“”引用所以是文本型所以要调用超级模块的十六到十的命令来吧文本型的偏移转换成整数型。我们所看的第一行的代码的意思就是读取植物大战僵尸的进程来读取这个植物的基址赋值给一级偏移然后再用赋值后的一级偏移再赋值,这一次是用第一次赋值的植物基址来加偏移就构成了跟CE完全相同的步骤。我们来验证下是否正确。吧时钟1的时钟周期改成1000再在时钟1下添加一行代码:编辑框1.内容 = 到文本 (二级偏移)
我们运行植物大战僵尸来看看编辑框是不是正确读取了阳光数。
这样我们就读取成功了。我们开始正式写代码。
我们把最后两行代码删除重新写一个:写内存整数型 (进程ID, 二级偏移, 9990) 如下图:
我们运行看看效果
成功!!!!!
我们面临一个新问题。如何点击选择框来执行无限阳光呢?
我们需要建立一个程序集变量AC(整数型)在启动窗口的程序中让AC=1然后把时钟的数值改回0双击选择框写代码如下:
.版本 2
.如果 (AC = 1)
时钟1.时钟周期 = 1000
AC = 0
.否则
时钟1.时钟周期 = 0
AC = 1
.如果结束
就可以了。不信你试试。看图:
第一课结束谢谢大家的观看!!!
看帖要回,回帖才健康,在踩踩,楼主辛苦了! 一直在看 着玩意还是很有用处的。。。 太W美了 楼主我不忍直视了 呵呵 需要的就是这个 謝謝,希望以後多些 我只是看看楼主,不发表观点。 谢谢分享,好贴! 看帖回帖是美德,大家要保持,回帖还可以得积分!
页:
[1]
2