零起点学VB做外挂(五)
来源:互联网 发布:粉笔直播课淘宝 编辑:程序博客网 时间:2024/05/19 02:39
具备了前面的基础。 下面我们就要逐步深入了。
首先,我们就需要读出游戏中的部分数据,比如血值,蓝值等等。这就涉及到两个重要概念:基址和偏移量。
基址和偏移量是怎么找到的呢?尤其是基址,它是我们写外挂的根基,有了他,偏移量也就好找了,而且一般游戏的偏移量都不会变动的。
今天,我们就来详细讲一下寻找基址的方法(偏移量的方法也隐含在其中),工具是利用CE5.3。
第一步:首先打开游戏,选择一个角色,待完全进入游戏后,去找只打你一滴血的怪物,而且是你不能秒杀的怪物。找到后呢,先不要开打。这时打开CE 5.3(一下简称 CE )。
打开CE后,选择左上角的那个按钮 如图:
然后在列表里选择 elementclient.exe 这项,这是游戏的主程序。在Memory Scan Options 里选择 ALL 。
第二步: 现在我们开始搜索数据。在Value 的文本框里输入你游戏人物的血值,例如 776 。点击 First Scan 。搜索完后会有一大堆数据,并且没有显示,怎么办呢,不急,还没完。然后你就去打一个怪,只打一下,后面就让它打你,当血减少后,回到CE界面,在 Scan Type 那里选择 Decreased value ,然后点击 Next Scan 。这时你就会在结果列表里看到一些结果,然后选择和你当时血值相同的项,双击它,将他添加到地址列表。选择刚添加进来的项,右键点击它,选择 Find out what wrties to this address 。然后你就会看到列表里会出现这样一行代码 0045510f - 89 8e 54 02 00 00 - mov [esi+00000254],ecx ,前面可能不一样,但是 89 8e 54 02 00 00 - mov [esi+00000254],ecx 这个是不变得(除非游戏做了很大的更新),双击它,会得到一个信息窗口。如图:
这只是个例子,真实的信息要你找出来的才算。
第三步: 把那个搜索代码的窗口关闭,也就是你通过选择 Find out what wrties to this address 弹出的窗口,把它关闭。
在弹出的信息窗口里面找到标记为红色的那一行,记住esi 的值。在CE界面里选择 New Scan ,勾选 Hex ,在里面输入 那个 esi 的值,例如:63F7868 ,点击 First Scan 。搜索完后,看结果列表那,在列出的项目里,选择第一个(为什么选第一个?一般第一个是符合要求的正确结果,如果不正确,可以选第二个,第三个……直到找到正确的),那么例子里是这样的,如图:
第一个项目是 012CF01C ,我们双击它,将它加入地址列表。然后双击刚加入的项目,将它设置成如图的形式,如图:
设置好了,OK,回到CE界面,在我们刚刚修改的那个项目点击右键,选择 Find out what wrties to this address ,再选择 Find out what writes to this pointer ,然后我们小退,知道什么叫小退的吧,就是重新选择人物。OK,当你重新选择人物进入游戏的时候,你会发现多了几行代码,然后你找到这一行,如图:
双击它,在新打开的信息窗口里面,你会看到如图的信息。如图:
找到标记红色的那一行,再次在CE里面搜索这个 esi 的值,记得要勾选 Hex 哦。Ok,我们搜索它,会得到这些结果。如图:
然后你会说,怎么没有12F82C呢,你不是说是 12F82C 吗,怎么没有? 呵呵,且听我道来,12F82C 这是武林外传以前的指针,后来更新后,这个指针变了,所以呢,你搜索不到这个 12F82C指针了,还有一个值得注意的就是,你分析的这个游戏是不是采用了变指针的方式读取游戏数据的呢?就像我们搜索的到的最后的指针结果,有好几个,如: 0013ECA8 ,0013F464, 0013F82C,008C0654 。细心的你,把这个几个试下,会发现,不只一个能正确读出数据,所以呢,八成是你分析的游戏采用了变指针的方式,在不同的机器上,能用的指针有可能不同。(注:我们需要的有用的指针一般是这个形式 00xxxxxx ,共八位,只有6位有数据,前两位为0,形如这样的指针才是我们要找的指针)
好了,我已经讲完了,到这里,我们就找出了能读出武林外传一些数据的必要指针了,至于你要用来干什么,那随你便了,呵呵。
(也就是每个能够修改关键量的指针都找到了)
下一篇,我们就可以利用得到的基址,以及从网上找到的部分偏移量来做个简单外挂了。
- 零起点学VB做外挂(五)
- 零起点学VB做外挂(一)
- 零起点学VB做外挂(二)
- 零起点学VB做外挂(三)
- 零起点学VB做外挂(四)
- 零起点学VB做外挂(六)
- <java基础>零起点学Android(五)之应用窗口
- 一天一天学做外挂@第二天-实现VB显示游戏数据[武林外传]
- <java基础>零起点学Android(三)
- <java基础>零起点学Android(六)
- 零起点学 C++ 第二章
- 零起点学通C++--点滴
- 零起点学算法94——今年暑假不AC(贪心)
- 零起点学算法95——骨牌铺方格(找规律)
- 零起点学算法96——折线分割平面(找规律)
- 零基础学python(五)
- <java基础>零起点学Android(一)大体介绍
- <java基础>零起点学Android(二)Intent 意图
- 实现图片多变化的显像效果代码
- HP-UNIX命令集合
- C#在Windows 2000 和2003中运行出现的错误:"试图运行项目进出错:未能加载文件或程序集..."
- weblogic学习笔记(-)
- Thinking in C++ (1-9) C++为什么会成功
- 零起点学VB做外挂(五)
- 项目开发的需求分析
- JavaScript笔记——JavaScript的系统函数学习
- VC读写INI文件(转)
- 汇编 实时显示系统时间 年月日信息
- 软件测试相关的63个国外站点
- 零起点学VB做外挂(六)
- struts2乱码问题
- Delphi 快捷键