易语言代码
游戏的简陋界面
用ce查找存储这个1000即生命值的内存地址(得先附加到目标程序上,点击左上角那个电脑按钮)
看到有很多值为1000的,但哪个是生命值呢?真相只有一个
我们点击一下打我这个按钮,看下面的ce界面上地址为004A65C0处的值变了,所以这个就是我们要找的生命值
接下来我们对生命值进行修改,修改为9999,并锁定(设定不断修改该内存地址存储的值)
ok至此~内存修改的学习算入了个门
ce下载地址:稍后给出
测试demo:稍后给出
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:14145次
排名:千里之外
原创:52篇
(1)(2)(3)(3)(1)(3)(9)(5)(1)(5)(8)(12)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'1、&外挂入门一&CE的使用,和游戏基址的查找方法
首先要了解什么是基址
游戏基址是保持恒定的两部分的一部分并提供一个基准点,从这里可以计算一个字节数据的位置。基址伴随着一个加到基上的偏移值来确定信息准确的位置()
这一概念与街道地址系统雷同。例如:“大街2010号”由基(大街2000街段)加上偏移值(从街段开始的10号)。在IBMPC和中的数据按其相对于由段开始的相对偏移位置被识别。
和地理没有关系,所以游戏的基址可以推算出含义来了,修改游戏的基址,可以变成外挂
Engine是一款内存修改编辑工具
,它允许你修改你的游戏或软件内存数据,以得到一些其他功能。它包括16进制编辑,反汇编程序,内存查找工具。与同类修改工具相比,它具有强大的反汇编功能,且自身附带了外挂制作工具,可以用它直接生成外挂
下载地址:百度网盘 &CE 6.6版本 下载地址
&链接: /s/1hs9Mfgo 密码:
入门的时候可以先找一个单机游戏进行入门练习,此处我找的是经典单机游戏植物大战僵尸
& ***完CE和游戏就可以开始了。
一、目标找到游戏基址,实现无限阳光。
1、打开游戏,打开CE工具,在进程里选择游戏进程 PlantsVsZombies.exe
&2、根据现有阳光在CE中进行查询
3、游戏里收集阳光,或者放东西修改阳光数值后在CE里进行对应的修改并点击在此扫描
&4、多次操作第3步后我们会得到一行,双击后添加到下面列表,更改数值可以改变阳光,相当于临时外挂了,
但是外挂是需要长期使用的,所以我们要找到基址才行。
5、右键新增加地址,选择找出改写的这一项。点击确认后CE开始监控
6、在游戏里收集和使用阳光,CE得到两条监控结果。双击第二行显示详细列表,得到指针值,且看到偏移值是5560.
7、对找到的指针数值进行重新扫描,记住勾选十六进制,然后进行多次点击再次扫描过滤动态数据,一般来说第一行就是我们得到的正确地址。不过还需要进行验证,先双击添加到列表
8、双击第二行的地址列,弹出更改地址界面,勾选指针填入偏移值,和找到的地址。点击确定
9、更改列表第二行的数值发现阳光也在进行变化,第二行的数值其实是第一行数值的十六进制。此时右键第二行,选择找出是什么访问了这个地址。然后在游戏里再次进行阳光的使用和收集。发现,监控里没有刚才的MOV和add也没有偏移值,所以可以判断该地址可能就是我们要找的基址。
10、为了证明该地址是否是基址,我们需要关闭游戏。重新打开游戏。然后CE重新在进程里选择游戏。进行游戏中后,在CE里更改第二行的数值。游戏跟着变化。表示我们找到了基址。0018984C
基址找到了,下面进行程序编写。
&private void timer1_Tick(object sender,
EventArgs e)
(Helper.GetPidByProcessName(processName) == 0) //判断游戏是否开启
& & timer1.Enabled =
& & this.button1.Text =
"启用-阳光无限";
address = ReadMemoryValue(baseAddress1); &
& & //读取基址(该地址不会改变)
& & & address =
address + 0x5560; & &
//获取存放阳光数值的地址
WriteMemory(address, 0x270F); & &
& &//写入数据到地址(0x270F表示9999)
编写完成。测试一下。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。