从0开始学模拟挂(一)--找内存基址,包含原理
1、首先打开CE,在设置里面尽量使用内核模式调试器
下载附件 (65.16 KB)
2、点击左上角的电脑图标
下载附件 (30.68 KB)
3、选中游戏进程,按确定
下载附件 (29.57 KB)
4、可以看到人物的血量是220,所以输入220,点首次搜索。其他用默认
下载附件 (96.37 KB)
5、以下是搜索结果,可以看到结果很多
下载附件 (67.21 KB)
6、出门让怪砍,使你掉血,然后CE在扫描内型下拉框里选择减少的数值
下载附件 (49.32 KB)
7、搜索完发现结果很多。。。。
下载附件 (97.32 KB)
8、没事我们多搜索几次,直到出现比较少的数字为止,看现在就一个地址了
下载附件 (66.57 KB)
9、双击找到的地址,把他加入下面的方框内
下载附件 (63.44 KB)
10、修改描述为1.内存地址(表示第一次游戏内找到的内存地址),右击地址,选择“查找写入该地址的代码”
下载附件 (78.02 KB)
11、以下是结果,并且双击找到的结果
下载附件 (26.23 KB)
12、然后出现如下图片,红色内行写着 ecx+000001e0,这里ecx 代表二级基址内放的数值,1e0 代表偏移量2。方框内是CE帮我们计算好的二级基址内的数值,我们就是需要他。把这个数字记下啦。通过它寻找二级基址的位置
下载附件 (63.25 KB)
13、点新的搜索,然后输入刚刚找到的二级基址内的数值,并且勾上前面的16进制(因为这个数据是16进制),再点击首次搜索(找找看哪个地址内的数值,满足上面这个数字),得到,如下两个结果,然后双击这两个结果,把他们加入下面的方框内。并且添加注释第A次进游戏得到的可能二级基址。
下载附件 (79.22 KB)
14、二级基址只有一个,所以这两个结果只有一个是真的,(一般来说第一个是真的地址,但也不是绝对的。碰RP的话,你也可以直接用第一)所以接下来要判断哪个才是真的二级基址。刚刚说过,退到游戏选择人物画面再进游戏,一级基址不变, 二级基址不变,但是二级基址内放的数字变了,这导致这个时候血的内存地址也变了。所以下面要做的就是退到人物选择画面,再进入游戏,通过刚刚方法(1---13步骤),再找次二级基址,他应该和前一回找到的二级基址一样。
下面图中我描述为(B可能的二级基址)的东东,是我第二次搜索得到的可能二级基址
。比较下两次进游戏得到的二级基址,只有红色的地址是没变的,说明他就是二级基址。
下载附件 (94.08 KB)
15、找到二级基址后,通过上图的面板你们也发现
二级基址(10822D20 ) = 一级基址的数值() + 偏移1()
所以现在我们要找一级基址的数值 和 偏移1.
我们说过二级基址数值只要进入正式游戏都不不会改变了,只有进入人物选择画面的时候才变,下面我们要做的就是跟踪这个二级基址,回到人物选择画面,看看是谁往这个基址内写入东东~
下载附件 (73.72 KB)
下载附件 (154.2 KB)
16、正式进入游戏后,我们发现检测到几个结果,那到底哪个才是真的呢?
我们选择红色那个,因为他有mov
下载附件 (102.91 KB)
17、双击这个红色,然后得到如下图。红色那行写着 eax+ecx*4,这里前面的eax 代表一级基址内放的数值, ecx*4 代表偏移量1。方框内是CE帮我们计算好的一级基址内的数值,我们就是需要他。把这个数字记下啦。通过它寻找一级基址的位置。同时我们发现ecx代表的是4(十六进制),4(十六进制)*4=10(十六进制)。10就是偏移1
下载附件 (128.72 KB)
18、搜索一级基址内的数值10822D10,看看哪个地址内装的是他。结果就一个
下载附件 (59.14 KB)
19、好了现在我们知道所有的东西了,红色部分是无论哪次进游戏都不变的。找到他们,现在就能进行找血的内存位置了。
一级基址(012BAB94 )
二级基址(10822D20 ) = 一级基址的数值(10822D10) + 偏移1(10)
血内存地址(055FCE18) = 二级基址的数值(055FCC38) + 偏移2(1e0)
下面我们要来检验下我们得到的是否正确,思路是:
以下红色部分代表:无论哪次进入游戏都不会变的量
基址1内放的数字=读取数据(基址1)
基址2=基址1内放的数字+偏移量1 基址2内放的数字=读取数据(基址2)
血内存地址=基址2内放的数字+偏移量2 HP值=读取数据(血内存地址)
根据以上思路,写成按键精灵的代码如下:
- //下一行的目的是获取游戏窗口句柄。。因为下面要用到这个参数
- Plugin jzs=Window.MousePoint()
- //定义变量
- VBS Dim hp base py1 py2 hpjz1 hpjz2
- Rem 程序开始
- //base,py1,py2 分别表示一级基址的门牌号,偏移1,偏移2
- //自己修改,下面的三个参数为你自己的,你就能直接得到你自己游戏的血量多少,请注意所有十六进制的数字前都要加上&H,这样电脑才知道你输入的数字是十六进制的,不然像第二行的py2不加&H就变成十进制的10,实际上十六进制的10代表的是十进制的16
- base=&H012BAB94
- py1=&H10
- py2=&H1e0
- //hpjz1代表 一级基址内放的数字,下一句话意思是从一级基址内的数据存入hpjz1中.顺带补充句以下所有Memory.Read32Bit得到的数据都是十六进制
- Plugin hpjz1=Memory.Read32Bit(jzs,base)
- //hpjz2代表二级基址内放的数字,hpjz1+py1意思是把基址1内装的数字+偏移1,得到基址2的门牌号,下一句话意思是,计算出基址2的门牌号,然后从二级基址内读入数据存入hpjz2中
- Plugin hpjz2=Memory.Read32Bit(jzs,hpjz1+py1)
- //hp代表。。。地球人都知道什么意思。。。hpjz2+py2意思是把基址2内装的数字+偏移2,得到HP内存位置的门牌号,下一句话意思是,计算出HP内存位置的门牌号,就从HP内存地址中读入数据存入hp中
- Plugin hp=Memory.Read32Bit(jzs,hpjz2+py2)
- //防止HP数值不是十进制表示,所以通通给我转成十进制
- hp=int(hp)
- //弹出HP是多少的信息框
- MessageBox hp
复制代码
接着完全关闭游戏,重新登陆,运行脚本看看读取到的血量是多少:
下载附件 (131.47 KB)
OK,说明我们找到的是正确的
转自:http://bbs.vrbrothers.com/viewthread.php?tid=94544
从0开始学模拟挂(一)--找内存基址,包含原理相关推荐
- c语言如何找到进程基址,从0开始学模拟挂(一)--找内存基址,包含原理 _ 脚本
PS:12楼的兄弟,不能回到选择人物画面,那你就换个地图试试,也可以请看下篇,找内存基址方法(二), 有人问怎么自动加血,我板凳帖子里不是有了,读取血内存地址的代码了吗? 把那份代码,你用两次,第一次 ...
- 从0开始学模拟挂(一)--找内存基址,包含原理 _ 脚本..._按键精灵论坛
PS:12楼的兄弟,不能回到选择人物画面,那你就换个地图试试,也可以请看下篇,找内存基址方法(二),页面 有人问怎么自动加血,我板凳帖子里不是有了,读取血内存地址的代码了吗? 把那份代码,你用两次,第 ...
- 线上学python哪家好-0基础学python,打算找培训机构,是线上好还是线下好?
谢邀,先不谈讨论线上还是线下更好,这个待会说. 我们先看一下题主的问题,0基础学Python,打算找培训机构,划重点了,这是0基础已经做好决定去培训了,我们就不要一直强调建议自学.自学,答不对题.就我 ...
- 从0开始学c语言 - 34 - 通讯录 -静态、动态、存到文件(三种版本)
上一篇:从0开始学c语言-33-动态内存管理_阿秋的阿秋不是阿秋的博客-CSDN博客 我发现,理论的学习文章没几个人看,如果是这种实践类型的文章,看的人很多,偏偏我之前都是扔完代码就走了,也没认真写这 ...
- 0基础学python做什么工作好-零基础自学多久Python可以找什么工作
虽说很多都想自己学Python,然后找相关的工作,那么自学Python可以找什么工作呢?另外,学多久Python可以找工作.对Python,要掌握哪些知识才能找到好工作呢?今天跟智连代理一起去了解一下 ...
- codova添加android慢_从 0 开始学 Linux 内核之 android 内核栈溢出 ROP 利用
作者:Hcamael@知道创宇404实验室 最近在研究一个最简单的android内核的栈溢出利用方法,网上的资料很少,就算有也是旧版内核的,新版的内核有了很大的不同,如果放在x86上本应该是很简单的东 ...
- 计算机临床医学自动化哪个好,这五个专业待遇高,就业好,但是很难学,挂科风险大,选择要慎重...
原标题:这五个专业待遇高,就业好,但是很难学,挂科风险大,选择要慎重 每年高考后都有无数学生纠结报志愿选择哪个专业,专业一般划分为红牌专业和绿牌专业.所谓的红牌专业就是那些失业量较大,就业率.薪资和 ...
- 从0开始学架构(三)
此系列文章为极客时间上从0开始学架构学习后感悟总结,虽然隔了一段时间了,那么就再看一遍并且进行感悟升华,排版格式上有问题,后期再复习时也会进行更新 一.CAP理论 CAP 定理(CAP theor ...
- 从0开始学c语言-终篇41-练习、学习分享
CSDN话题挑战赛第2期 参赛话题:学习笔记 终于,来到了终篇,我坚持做到了!每天一篇博客记录自己的学习(虽然中间有两天去干农活而断更了)!啊呜呜呜呜~激动! 但是,这不会是我的终点,这是新的起点.之 ...
最新文章
- JavaScript作用域原理——预编译
- 2021-09-23对图像深入研究
- TCP/IP状态详解
- 28 多进程之数据交换Pipe
- 经典C语言程序100例之八七
- 我这几年呆的这几个公司
- android——GestureDetector.OnGestureListener 手势详解
- Appscan计划扫描与扩展程序
- 本草纲目pdf彩图版下载_本草纲目彩色图谱下载|本草纲目彩色图集(精编珍藏版) PDF电子版 - 天天游戏吧...
- 有关圣诞节表白的c语言程序,关于圣诞节表白唯美的句子
- Base64编解码及其C++实现
- Linux 根目录结构,英文全称、文件夹作用
- OpenCV参考手册之Mat类详解(三)
- Python爬虫的多线程使用方法
- 2021江苏省南通市高考成绩查询时间,2021南通市安全教育平台登录入口网址【最新】...
- 批量 m3u8文件转成MP4的方法--Python实现和 cmd 实现(推荐cmd)--仅粉丝可见
- 微信小程序+.NET(十一) 小程序之小说阅读器实现
- 《On Java 8》中不理解的段落
- 浙江杭州烟花爆炸事故中受伤最重者属二级烧伤-杭州-烟花爆炸-烧伤
- Lunatic状态(疯狂之力)