【图文解说】用CE寻找游戏指针的2种方法(原创)

合集下载

CE人造指针

CE人造指针

[原创] 简单说下CE人造指针以PVZ为例,简单说下CE的人造指针(感谢大象的教程)。

什么是人造指针:并非所有的游戏都可以找到指针,有的时候我们可以用CE造一个。

思路都在方法里,注意往下看找到阳光地址后 Find Access ,图中的 edx + 5560 就是阳光地址,这个代码只有要阳光在是一直在执行的,这就是我们入手的地方。

做一个AA脚本跳转,默认就如此:1.[ENABLE]2.//code from here to '[DISABLE]' will be used to enable the cheat3.alloc(newmem,2048) //2kb should be enoughbel(returnhere)bel(originalcode)bel(exit)7.8.PlantsVsZombies.exe+1BAB5:9.jmp newmem10.nop11.returnhere:12.13.newmem: //this is allocated memory, you have read,write,execute access14.//place your code here15.16.17.originalcode:18.add eax,[edx+00005560]19.20.exit:21.jmp returnhere22.23.24.25.[DISABLE]26.//code from here till the end of the code will be used to disable the cheat27.dealloc(newmem)28.PlantsVsZombies.exe+1BAB5:29.add eax,[edx+00005560]30.//Alt: db 03 82 60 55 00 00复制代码然后看下游戏的内存,图示在75e000附近找空白的地址申请的地址范围是 75cc00(PlantsVsZombies.exe+35cc00) 0x1000 为这个指针选个基址:75cc20 (PlantsVsZombies.exe+35cc20)随便选,只要是空白绿色的就行改造下上面的脚本1.[ENABLE]2.fullaccess(PlantsVsZombies.exe+35cc00,0x1000)//申请地址3.//code from here to '[DISABLE]' will be used to enable the cheat4.alloc(newmem,2048) //2kb should be enoughbel(returnhere)bel(originalcode)bel(exit)8.define(p,PlantsVsZombies.exe+35cc20)//用起来方便9.10.PlantsVsZombies.exe+1BAB5:11.jmp newmem12.nop13.returnhere:14.15.newmem: //this is allocated memory, you have read,write,execute access16.//place your code here17.18.19.originalcode:20.mov [p],edx //这是人造基址21.add eax,[edx+00005560]22.23.exit:24.jmp returnhere25.26.27.28.[DISABLE]29.//code from here till the end of the code will be used to disable the cheat30.dealloc(newmem)31.PlantsVsZombies.exe+1BAB5:32.add eax,[edx+00005560]33.//Alt: db 03 82 60 55 00 00复制代码然后添加指针(基址+偏移):用之前要执行下脚本。

CE找基址及偏移教程

CE找基址及偏移教程

CE找基址及偏移教程CE (Cheat Engine) 是一款功能强大的开源游戏修改工具,可以用于找出游戏中的基址和偏移量。

在本教程中,我将向您介绍如何使用CE来找到基址和偏移量。

第一步是启动CE,并选择您要修改的游戏进程。

在CE的主界面上,您可以看到一个按钮上写着"Select a process to open"。

单击该按钮,它将打开一个对话框,显示您当前正在运行的所有进程。

在这个对话框中,选择您想要修改的游戏进程,并单击"Open"。

要找到基址,您需要在游戏中查找一个可修改的值。

在CE的主界面上,单击"First Scan"(首次扫描)按钮来开始。

在弹出的对话框中,选择要的数据类型,如整数、浮点数等。

在"Value"字段中输入您想要查找的值,然后单击"Scan"按钮。

CE将开始游戏进程中的内存地址,以找到与您输入的值匹配的地址。

这个过程可能需要一些时间,具体取决于您的计算机性能和游戏进程的大小。

当完成后,CE将显示一个地址列表,显示了与您输入的值匹配的地址。

这些地址被称为"Results"。

要找到基址,您需要修改游戏中的值,并进行第二次扫描。

修改游戏中的值,然后单击"Next Scan"(下一次扫描)按钮。

根据上一步的结果,CE将显示新的地址列表,这些地址仅包含与上一次扫描中的值匹配的地址。

这些地址可能是潜在的基址,但我们无法确定。

我们需要进一步修改游戏中的值,然后进行下一次扫描,以进一步缩小范围。

重复上述步骤,直到您找到了一组相对静止不变的地址。

这些地址很可能是游戏的基址。

为了验证,请尝试在这些地址上做一些修改,看看游戏中的值是否相应变化。

一旦您确定了游戏的基址,您可以使用偏移量来找到其他变量或函数的地址。

在CE的"Address List"中,选择基址的地址,并单击"Add Address Manually"(手动添加地址)按钮。

CE入门教程游戏基址查找方法

CE入门教程游戏基址查找方法

CE入门教程游戏基址查找方法CHEAT ENGINE(以下简称CE)是我见过的最优秀的游戏作弊工具。

它的优点多不胜数,虽然单独从搜索游戏里面的数值来说,它并不比其他同类软件强多少,但它不仅仅是个游戏修改工具,它还有其他游戏修改软件所没有的一些特点,例如:它有强大的反汇编功能,这个是别的游戏工具中几乎没有的;还有,它本身就自带了外挂制作工具,可以直接由它生成外挂。

而它的界面非常简洁朴素,这也是我喜欢它的原因之一。

同类软件中,我觉得TSEARCH可以和它媲美,但TSEARCH的界面比较混乱,操作过于复杂,所以我个人并不喜欢TSEARCH。

在这个教程里面,你不会看到任何图片,因为我觉得我能用纯文字教你使用CE,如果你觉得没有图片就一定学不会,我想你没必要看下去了,因为我没空做图片,并且我觉得文字已经足够表达,没必要用多余的图片好了,废话少说,进入正题吧。

其实,使用CE的基本步骤,可以简单到一句话:1.运行CE->2.运行游戏->3.在CE中指定要修改的游戏->4.首次搜索一个数值->5.回游戏中让这个数值增加或减少->6.回CE按数值增减的情况再次搜索->7.重复5和6直到得到一个或很少的几个结果->8.在这几个结果中判断哪一个是真正的结果。

而下面的这个教程,就是要对上面说的这些步骤进行详细的解释,然后再用一个具体的例子来让大家真正掌握CE的用法。

当然,要用一个具体的例子来讲解CE的用法,需要一个游戏,以这个游戏的修改来讲解。

不过,如果真正的用一个游戏来做例子,那么大家也得找到我用的游戏,就算找得到,还有可能要安装,确实比较麻烦。

幸好,CE本身带了一个TUTORIAL,就是教程的意思,不过这个TUTORIAL,本身也是一个程序,它是作者为了让使用的人进行练习而编写的,它不但会一步一步地教你怎么用CE,而且它本身也和游戏差不多,除了没有游戏的画面。

如果你能使用CE按这个TUTORIAL的要求对它进行修改,我想你也应该能用CE对真正的游戏进行修改了。

游戏基址的原理及用CE进行简单寻找概要

游戏基址的原理及用CE进行简单寻找概要

游戏基址的原理及用CE进行简单寻找概要游戏基址(Base Address)是指游戏进程在内存中的起始地址。

不同的游戏基址具有不同的内存偏移,通过寻找游戏基址,可以确定特定变量或对象在内存中的地址。

在使用CE(Cheat Engine)进行简单寻找时,可以利用基址链来定位所需的内存位置。

在计算机中,内存是用来存储程序运行时所需的数据和指令的地方。

每个进程都有独立的内存空间,包括代码段、数据段和堆栈段等。

游戏也是一种程序,其在内存中存储了许多有关游戏状态、玩家属性等的数据。

为了能够修改游戏的一些参数或属性,如无敌模式、无限金钱等,需要确定这些数据在内存中的位置。

游戏基址的寻找通常分为静态和动态两种方法。

静态方法是指通过分析游戏的二进制代码,定位其中的特征数据进行寻找。

这种方法比较繁琐,需要一定的逆向工程知识和经验。

而动态方法则是利用CE等工具,在游戏运行时进行寻找。

使用CE进行寻找时,首先需要启动游戏和CE,并将游戏进程添加到CE的进程列表中。

然后,在CE的主界面中选择"Open",打开要进行寻找的游戏进程。

接下来,可以通过几种方法来寻找游戏基址。

1. 指定初始值:如果我们已经知道一些变量的初始值,在CE的主界面中选择"First Scan",并在输入框中输入这个值。

点击"New Scan"按钮进行扫描。

CE会在游戏的内存中与这个初始值匹配的地址。

此时,尽量不要进行其他的游戏操作,以减少内存的变化。

扫描完成后,在结果列表中会显示匹配的地址。

2.改变变量值:在找到一些匹配的地址后,可以进行一些游戏操作,改变这个变量的值。

然后,根据变化的值进行新一轮的扫描。

通过多次扫描,可以逐渐缩小范围,找到更精确的基址。

3. 通过指针链:指针是一种变量,它存储了另一个变量的地址。

在游戏中,有些属性或变量的地址是通过一个或多个指针进行间接引用的。

可以先确定这个变量的地址,然后通过"Find out what writes/reads to this address"功能来找到指向这个地址的指针。

CE找基址及偏移教程

CE找基址及偏移教程

CE找基址及偏移教程
[转载于广海]
一般来说,大家都应该知道怎么找到一个值的地址,然后去修改它,但是有些地址退出游戏后就变了
这就需要偏移了,现在教大家找偏移和基址
1.当然是开游戏,有CE载入它的进程(看图)
2.搜你要搜的值,一般用默认的那个(整数,4字节)
比如搜金钱,就输入金钱数,一开始会有很多个,这时要改变下金钱的数(捡钱扔钱随你)
然后再次搜金钱的数,循环数次后剩下1个或几个,双击它,看图,现在我的钱是5
3.看图先
点击后得到这个(如图)
然后进入游戏改变一下金钱的数(扔钱捡钱随便你),之后得到如下图
双击后得到
4.根据刚才记下的esi,搜索下esi(如图)
5.这步很麻烦,我直接用说的了
然后双击被点下来的那个
接下来
这时候要小退一下,记住`是小退,进来后看看那个地址的值是不是跟金钱一样,改变一下金钱的数,看会不会跟着改变,如果会,就代表找对了
郁闷,游戏突然掉了,我重来,不过是从上面那一步开始,到这里也算差不多完了
6.接下来要重复上面讲到的其中一步,就是双击后看到偏移是504的那一步,得到如图
这个是完美国际122版的,也就是说,完美国际122的基址就是0092782C
二级基址=基址+20
金钱的地址则=二级基址+504不好意思``上次写的是一级基址=基址+20其实基址就是一级基址了`误导了大家基址+20应该是二级基址才对
到这里就完了。

Cheat Engine偏移地址查找方法[小杰]

Cheat Engine偏移地址查找方法[小杰]

Cheat Engine 偏移地址查找方法
前几天很多人说想学一下关于找地址偏移的问题这两天正好没事我就给大家讲一下如何使用CE 来查找内存的偏移地址会了这些无论是以后用到的给挑战改端或者是修改别的游戏都会有很大的帮助
我们现在就开始吧
一般来说,大家都应该知道怎么找到一个值的地址,然后去修改它,但是有些地址退出游戏后就变了
这就需要偏移了,现在教大家找偏移和基址
1.当然是开游戏,有CE载入它的进程(看图)
2.搜你要搜的值,一般用默认的那个(整数,4字节)
比如搜金钱,就输入金钱数,一开始会有很多个,这时要改变下金钱的数(捡钱扔钱随你)
然后再次搜金钱的数,循环数次后剩下1个或几个,双击它,看图,现在我的钱是
5
3.看图先
点击后得到这个(如图)
然后进入游戏改变一下金钱的数(扔钱捡钱随便你),之后得到如下图
双击后得到
4.根据刚才记下的esi,搜索下esi(如图)
5.这步很麻烦,我直接用说的了然后双击被点下来的那个
接下来
这时候要小退一下,记住`是小退,进来后看看那个地址的值是不是跟金钱一样,改变一下金钱的数,看会不会跟着改变,如果会,就代表找对了
郁闷,游戏突然掉了,我重来,不过是从上面那一步开始,到这里也算差不多完了
6.接下来要重复上面讲到的其中一步,就是双击后看到偏移是504的那一步,得到如图
看到了吧简单的方法我们就已经把金币的基址暴出来了但是我要提醒一下因为很多游戏岁着数据的加密我们每次进入游戏的时候这写地址都在不停的更改就介绍这么多吧如果有什么不明白的请在看完后进行留言我门根据大家的情况相应的做下解答。

CE傻瓜教程六:指针

CE傻瓜教程六:指针

第六关的密码是 098712这一关是相当重要的一关,请各位务必要学会找指针的方法。

为什么要找指针,在前面的教程中,如果各位细心观察的话就会发现在我截图中的出现地址和你的地址并不相同。

也就是说,这些地址是一直在变化的,我们把它叫做动态地址。

问题:电脑是如何每次都知道这个动态地址究竟是多少的?其实并不是所有的地址都会变化的,不会变化的地址,我们把它叫做基址。

实现思路:用不变的地址定位会变化的地址,即用基址定位动态地址。

上面介绍了2个简单的概念,现在开始我们的具体操作首先找到血量的地址,加入到地址栏,然后在地址上按右键=>找出是什么改写了这个地址,然后点击改变数值按钮,出现一行代码(见第五关),双击那行代码(或者点击详细信息)然后出现一个信息框,具体的代码是什么意思就不解释了,CE会告诉你下一步该做什么,图:CE让我们下一步找 01da6d48(在你电脑显示可能不是这个地址,因为它是动态地址),继续操作:回到CE,点击新扫描,先勾上HEX,点击首次扫描一定要勾上HEX,否则CE在搜索16进制字母时会报错。

搜索结果出来了:这个地址 460c34 显示的是绿色的,你的电脑上也应该是这个地址,因为它就是基址。

记住:在CE中显示绿色的地址是基址,黑色的地址是动态地址添加指针:点击手动添加地址图示操作,输入 460c34 然后点击确定注意看:指针在地址栏显示的是 p-> 地址这种类型的我们将数值改成5000,再点击前面的锁定然后点击 Tutorial 中的改变指针按钮,这关就可以过了。

注意前面一个概念没有说明,添加指针的时候出现,就是偏移,这个指针的偏移就是 0。

也有不是0的情况,大家可以对着教程实战一下:1、查找红警的金钱:/thread-1456-1-1.html2、植物大战僵尸阳光的查找:/thread-1210-1-1.html这一关相当重要,大家一定要多多练习(学会前六关,你已经可以修改大部分的游戏了)小说明:1、并不是所有的游戏都要找基址然后做指针,有的游戏直接就是基址,比如这个教程:/thread-2622-1-1.html2、基址是绿色的,如果找到最后有多个绿色地址,在一般情况下选择第1个。

CE搜索基址和偏移教程

CE搜索基址和偏移教程

CE搜索基址和偏移教程CE(Cheat Engine)是一款流行的游戏修改软件,可以用于修改游戏中的各种数值和属性。

在使用CE进行游戏修改时,经常需要使用到基址和偏移值。

本文将为您介绍CE基址和偏移的方法和教程。

一、什么是基址和偏移在计算机内存中,数据的存储是以地址的形式进行的。

在游戏中,一些数值和属性会通过内存地址来存储。

基址和偏移就是通过游戏内存中的数值,找到其对应的基址(即存储该数值的内存地址),并通过偏移值来找到与该数值相关的其他属性或数值。

基址和偏移的使用可以帮助我们更快地找到游戏中需要修改的数值,从而实现自己的游戏需求。

二、基址和偏移的使用方法1.打开CE软件,并选择需要修改的游戏进程。

2.在游戏中找到需要修改的数值,例如金币数量。

3. 回到CE软件,点击顶部菜单栏上的"First Scan"按钮,开始进行。

4. 弹出的框中,选择数据类型为"Exact Value"(精确值),并在"Value"中输入游戏中的数值,比如2000(表示2000这个数值的内存地址)。

5. 点击"First Scan"按钮,CE将开始游戏内存中与输入数值匹配的内存地址。

6.当完成后,可以在结果列表中看到所有与输入数值匹配的内存地址和对应数值。

7.在游戏中改变数值,比如增加金币数量到3000。

8. 回到CE软件,选择"Next Scan"按钮,进行下一次。

9. 在弹出的框中,选择"Value between"(范围值),并在"Value between"中输入上一次结果的数值范围,比如"2000 - 3000"。

10. 点击"Next Scan"按钮,CE将继续匹配上一次结果范围内的内存地址。

11.重复上述步骤,直到结果缩小到几个或者一个内存地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【图文解说】用CE寻找游戏指针的2种方法(原创)
方法一:分析法
以CE教学软件为例,我用的CE版本是 6.2汉化版,教学软件没汉化,不同版本可能会略有不同。

打开CE教学软件“Tutorial-i386.exe”,输入密码525927直接跳到第8步,多级指针,打开CE加载CE教学。

输入教学软件上给出的数字进行搜索。

得到一个地址,黑色的,说明是动态地址。

所谓动态地址,就是这个址是会变的,
比如说在游戏中存放人物血的数值的地址,每次变换角色或者重新登录甚至变换一下场景,都会发生变化。

那么,通过读写这个地址来得到人物的血量值,就无法实现,变一下就找不到了。

现在我们就是要来分析这个地址是怎么来的。

双击一下这个地址,添加到下面的地址栏,然后右键点击这个地址,“找出是什么改写了这个地址”
按一下教学软件上的按键“Change Value”改变数值。

好了,出来一行代码,正是这行代码在改写这个地址里的数值。

双击这行,看详细信息,CE提示要寻找的指针可能是“d7780”
我们点新的搜索,选中16进制,数值是“d7780”,结果出来了,还是黑色的。

同样的方法把它添加到下面地址栏,但现在起我们要“找出是什么访问了这个地址”
重复这一步的操作,直到搜索到的地址是绿色的为止,绿色的地址,表示是基址,不再会发生变化。

现在回过来梳理一下这个过程,原来我们一开始找到的那个地址,是经过这4次变化得来的。

这个是基址,这里是用一个模块加偏移表示的。

我们在CE上,点“手工加入地址”,钩选“指针”,按“Add Offset”,添加成有4级偏移的指针,最底下方框中输入基址(模块名+偏移),逐级往上每次的偏移量。

好了,指针地址添加好了。

现在测试一下,按教学软件上的“Change pointer”改变指针,
看一下我们分析出来的这个指针是不是准确同步变化。

同时也可以看到,改变指针以后,前面找出来的那些动态地址,全都没用了。

上面,简要说了用分析法查找多级指针的方法,说得比较粗略,网上类似的教程也较多,大家可以去找找参考一下。

现在这里要讲讲第二办法:扫描法
相对来说,CE教程上的指针地址,是比较简单的,让我们这些未入门的人也三下五除二找到了,
在实际各类游戏中,大多数时候可没这么简单,更多的需要点汇编的功力,
特别是,有的时候进行第二步,“找出是什么在访问这个地址”,一个地址也搜索不到,如果要分析代码吧,能力有限,怎么办,这就可以用到第二种办法,扫描指针,关于这个方法,网上很多教程都是一句话带过,以为大家都是大侠,
这点小事不值得一提,唉,的确就差一层窗户纸,我也有一阵子很糊涂,冥想很久才明白,好了,废话不说了,进入正题
第一步是同分析法一样的,先的到这个动态地址。

然后注意,这里要做的是“扫描目标地址指针”
多数情况下,我们只需要CE默认值进行搜索就可以了,就是要设一下扫描指针的深度,
级数少扫描的时间就少,我一般都是从4级开始扫描,扫描4级指针真的花不了多少时间,4级找不到就再扫5级,再6级。

7级。

再高8级、10级,恐怕搜索几天几夜也搜索不完,大家看着办吧。

这里要选择一下,存放扫描的结果文件名和目录位置,
建议放到空间相对较大的磁盘分区上,扫描级数高的时候,占用磁盘空间是相当可观的。

第一次结果出来了,接下来需要做的是清理错误的数据,最终得到我们想要的。

在教程软件上按“Change pointer”改变一下指针,重复第一步操作,得到一个新的动态地址。

在实际的游戏中实现这一步的动作就是重新登录一下游戏,
甚至是关闭游戏客户端重新开启
或者只是简单地改变一下场景等等,要根据游戏的实际情况来确定。

我们把再次查找到的地址,输入进去重新扫描,
注意:最好新建一个文件存放扫描结果,
避免有的时候因操作失误破坏已有的数据文件,这样出错了还可以返回重新来过。

结果出来了,就1个指针,双击一下,添加到地址中。

扫描任务完成了。

是不是很简单啊,一点都不用分析汇编。

前面说了教程的指针是简单的,扫描一下就出来了,
实际游戏中扫描操作可能要进行多次才能得到比较准确的指针,
指针也可能不止1个,有很多,
比如说,现在大型游戏中的模块很多,不同的模块名加不同的偏移,
都是不同的指针,但大家只要看,各级指针的偏移量是不是相同的,
如果全部相同,那就说明其实是同一个指针,只是说基址的地址相对于各个模块的位置不同而已。

也有的时候,扫描几次以后,一个指针也没找到,那就悲剧了,
可能一:需要扫描更高级别的指针。

解决办法:花时间继续扫描吧。

可能二:链表式结构的指针(可能是这个意思吧,我也不太明白),不适合扫描。

解决办法,请汇编功力比你我高的人,帮你分析代码吧。

或者你努力学习,自己成为高手、大侠以后,再来帮我解决这个问题。

========================================
顺便说一下,找到指针以后,在TC中怎么用:
方法是调用大漠插件,如读取内存数值的函数:
value = dm.ReadInt(hwnd, "[[[[<GameObj.dll>+2b2aec]+5c]+16]+0]+20", 0)。

相关文档
最新文档