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

合集下载

CE寻找游戏基址

CE寻找游戏基址

CE寻找游戏基址什么是游戏基址? 游戏基址是保持恒定的两部分内存地址的⼀部分并提供⼀个基准点,从这⾥可以计算⼀个字节数据的位置。

基址伴随着⼀个加到基上的偏移值来确定信息准确的位置(绝对地址)。

全局基址⼀级基址⼆级基址三级基址的关系: 第⼀步、计算机内存⼀般分为四级存储。

(印象⾥好像是四级)。

第⼆步、在最底下的,往往是游戏的全局基址(决定⽤户界⾯以及⼀些细节等)和⼀些响应⽤户操作⽽对应实施的命令。

第三步、该是传递基址了。

现在⽹游的基址往往是动态的。

这个是因为底层的基址不会直接传递给上⼀级内存。

它会加上⼀个偏移量,然后再传递。

这个传递就是指针了。

第四步、当传递到第四层的时候,就会表现在游戏的⽤户界⾯。

在本例中使⽤的是:间接寻址指令的地址字段不是操作数的真实地址,⽽是操作数的有效地址所在的存储单元的地址。

即操作数地址的地址。

"----->"表⽰"指针指向"基址(存放的内容是⼀级基址起始地址)——>⼀级基址(存放的内容是⼆级基址的起始地址:假定为a)[⼀级基址(a) + 偏移量]------>⼆级基址(存放的内容是三级基址的起始地址:假定为b);[⼆级基址(b)+偏移量]-------->三级基址三级基址-------->游戏界⾯⾃⼰制作游戏修改器必须要找到⼀级基址注意:对于单机游戏,游戏基址是不变的。

对⽹络游戏,更新时可能会变。

(因此才会有游戏更新后,某外挂不可以使⽤。

其本质可能是基址改变的。

)另外,所谓的游戏的基址存在于虚拟内存中,⽐如基址为0x006A9EC0。

问题:基址⽆⾮就是⼀块内存,同时基址⼜不可以改变,如果计算机中该块内存被占⽤了,然后再安装基址为0x006A9EC0的游戏,此时会不会写⼊失败,造成⽆法安装呢?解析:不会,基址0x006A9EC0是虚拟内存,会经过页⾯地址重地位,将虚拟地址转换成本机的物理地址,即不存在地址冲突问题。

CE详细教程

CE详细教程

CE详细教程CHEAT ENGINE(以下简称CE)是我见过的最优秀的游戏作弊工具。

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

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

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

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

还有如果你喜欢这个入门教程,你可以把它转载到任何地方,但在转载之前,请你征得本人的同意,并且在转载时注明作者为CCB。

好了,废话少说,进入正题吧。

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

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

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

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

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

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找基址与各种方法,欢迎老鸟指点(原创)先说下查找方法,基本就是确定值查找模糊查找还有些值查找不出来的话先别急,因为那些值存放方法不知道,所以可能会查找起来比较麻烦不知道存放方法的值可以先分析OD数据,OD分析数据中会得到很多数据,比如有些游戏存放坐标不是数据型,而是把数据改后存为文本型,找到寻路CALL后或需要用到坐标数据的CALL时就可以获得需要查找的值了。

这些下面再说先说下模糊查找,会模糊查找,确定值查找也就会了,不过确定值查找需要选择查找的数值类型模糊查找我用选择怪物数据为例下面画红圈的地方注意看1.确定没有怪物和人物,NPC选中选中16进制,这样比较容易看数据。

数值填写0,然后点击首次扫描查找出来1大堆2.选中只怪物(注意:攻击的话别杀死怪物后再点扫描)扫描类型选择大于,再次点击再次扫描搜索出来来少了很多,不过还是太多了3.杀死怪物,然后扫描类型选择(精确数值)点击再次扫描4.看下扫描结果,应该还是很多,然后重复2-3的步骤一直到看地址少于10个这里剩下3个值,0d3c1c9c和0d3c1ca0里存放的有1个是怪物ID地址偏移,1个存放怪物名称。

0d3c1ca4里存放的是当前选中怪物血百分比其实这个游戏CALL里面调用的选择怪物,攻击怪物都是调用这3个地址,如果不想做怪物过滤的话就没必要去查找怪物ID,怪物名称了。

总结回来很多不重要的功能可以不做就不做了。

不过很多游戏怪物过滤是很重要的。

呼呼下面说如何找出游戏基址直接拿上面地址找我拿0d3c1ca4来做例子双击0d3c1ca4再蓝色条部位随便哪处鼠标右键弹出下图蓝色部分点击鼠标左键,CE5.5没有这个选项,我用的是5.4 弹出下图刚进这个图片的时候可能是空白的,因为没有动作调用这个地址,那么你选只怪物或已经选择了,那么换只会攻击那只怪物(这里需要注意,第1个mov eax,[esi+ecx*4-4] 可能开出来就会出现这种地址,这种地址表示数组地址,而在第1个就跳出来应该不会是我们要找的偏移地址里面ecx一般=0 可以点进去看下查看里面ecx的值是不是=0 如果不是,那么这个就是我们要找的偏移值。

游戏修改器CE使用方法

游戏修改器CE使用方法

现在开始搜索精确数值 100 数值中输入100点击首次扫描按钮一般游戏就是4字节,这里不需要改动,默认就好。

这次扫描我们得到 59 个结果,里面肯定有我们要找的那个血值,不过好像太多了。

我们再输入 96 点击再次扫描按钮结果只剩1个(这就是我们要找的),我们双击此地址将其添加到地址栏:只有1个结果了,这个就是我们要找的内存地址,双击将其加入到地址栏双击下图对应位置可快速更改数值。

第3关的密码是 419482这一关很重要,因为某些游戏中血显示的不是数字而是血条,这样的话教程2中的方法就失效了。

本关就你要教会你如何修改这些讨厌的未知数此时点击新扫描然后选择未知初始数值点击首次扫描然后出现了肯定是N多的结果,因为太多了,CE没有显示出来。

老办法,回到 Tutorial ,点击打我,CE会告诉你血量减了多少,比如-1这里面我们换个思路,假设CE没告诉我减少了多少或者我根本没看清,这时应该怎么办呢?注意看下面的操作一、扫描减少的数值下拉框,选择减少了的数值,按再次扫描(此时血量减少了)二、扫描不变的数值然后选择没变动的数值(此时血量没有变化)三、反复操作再回到Tutorial ,点击打我 => 扫描减少了的数值 => 扫描没变动的数值反复操作,最后就会只剩14个地址四、简单判断简单判断下(Tutorial中告诉你了这个数值是小于500的),很容易就找到了最终的地址双击把地址加到地址栏,然后更改数值为5000,就可以过关了(前面教程有说过,这里就不再重复了)闯关成功。

大家一定要明白这样操作的思路:血量减少=>CE搜索减少的数值血量不变=>CE搜索不变的数值血量增加=>CE搜索增加的数值这样反复筛减,就能很容易找到最终的结果。

第4关的密码是 890124这一关的操作和前面和基本相同,主要是介绍一下什么浮点数:浮点数就是带小数点的数字如何扫描呢:1、首先将数值类型改成浮点数。

2、浮点数扫描时不必输入后的小数94.444 扫描时输入94就可以了其它的操作和前面的基本相同大家也注意到了(上图),浮点数也分为2种:1、浮点数也叫单精度浮点数英文是Single Float2、双浮点数也叫双精度浮点数英文是Double Float这里面要强调的是:浮点数的长度是4字节,使用4字节也可搜索到浮点数,但需要使用模糊搜索。

CE详细教程

CE详细教程

CE详细教程CHEAT ENGINE(以下简称CE)是我见过的最优秀的游戏作弊工具。

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

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

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

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

还有如果你喜欢这个入门教程,你可以把它转载到任何地方,但在转载之前,请你征得本人的同意,并且在转载时注明作者为CCB。

好了,废话少说,进入正题吧。

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

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

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

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

幸好,CE 本身带了一个TUTORIAL,就是教程的意思,不过这个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"功能来找到指向这个地址的指针。

Cheat Engine 高级应用——指针修改

Cheat Engine 高级应用——指针修改

Cheat Engine 高级应用——指针修改早就打算写个关于指针修改的文章了,只是一直没找到合适的范例游戏。

前段时间不小心修改了下红警3,发现这个游戏确实太适合拿来用做修改的演示了,呵呵。

说起来,指针确实是一个非常恐怖的东西。

首先,到底什么是指针呢?以下是引用自维基百科的解释:在信息工程中指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中的寄存器(Register)。

指针一般出现在比较近机器语言的语言,如汇编语言或C语言。

面向对象语言如Java一般避免用指针,而是引用。

指针一般指向一个函数或一个变量。

在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的变量或函数的值。

提起指针,就不得不让人想到了CE的教程里那个十分可怕的最终章里,那个指向指针的指针的指针的指针,也就是传说中的4级指针,变态无比。

不过好在一般游戏中几乎是不会看到这么过分的东西出现的。

说起来,CE的那个教程Cheat Engine Tutorial是十分棒的东西,如果你对于修改还有什么不明白的地方的话,建议先去试试那个东西,会很有帮助的。

那么,现在就让我们来看看指针修改在实际游戏中的具体应用吧。

就以红警3为例。

首先当然是祭出我们的CE大神了。

嘛,虽然我自己有做过汉化的版本,不过实际上一般修改仍然喜欢使用英文版的,嘿嘿。

进游戏很容易就找到了钱的地址。

请注意,红警3可能会找出很多个不同的地址,其中有些地址是无效的,如果你最终出现了什么问题,有可能就是这里选择错了地址。

没有什么特别好的办法,只能一个一个试。

现在我们添加钱的地址,然后老办法选择Find out what writes to this address,查找是什么在写入该地址,然后回游戏接着造点东西。

同样是很同意就找到了唯一的一个操作码,双击该操作码打开扩展信息窗口。

这个窗口中的信息十分有用,请注意红字标出来的操作码,mov [esi+04], eax。

ce修改器教程

ce修改器教程

接着第一关的操作按下一步进入教程第二关,需要扫描的精确数值是100现在开始搜索精确数值100 数值中输入100点击首次扫描按钮一般游戏就是4字节,这里不需要改动,默认就好。

这次扫描我们得到59 个结果,里面肯定有我们要找的那个血值,不过好像太多了。

关键一步:回到Tutorial 点击打我按钮,此时血值已有变化了:我们再输入96 点击再次扫描按钮结果只剩1个(这就是我们要找的),我们双击此地址将其添加到地址栏:只有1个结果了,这个就是我们要找的内存地址,双击将其加入到地址栏图示操作:把95 改成1000 点击确定按钮此时教程的下一步按钮变成可用闯关成功。

操作虽然简单,但是大家需要明白这其实是一个筛选的过程,这样操作就能把地址找出来。

本关的小技巧:1、双击下图对应位置可快速更改数值。

这一关很重要,因为某些游戏中血显示的不是数字而是血条,这样的话教程2中的方法就失效了。

本关就你要教会你如何修改这些讨厌的未知数此时点击新扫描然后选择未知初始数值点击首次扫描然后出现了肯定是N多的结果,因为太多了,CE没有显示出来。

老办法,回到Tutorial ,点击打我,CE会告诉你血量减了多少,比如-1这里面我们换个思路,假设CE没告诉我减少了多少或者我根本没看清,这时应该怎么办呢?注意看下面的操作一、扫描减少的数值下拉框,选择减少了的数值,按再次扫描(此时血量减少了)二、扫描不变的数值然后选择没变动的数值(此时血量没有变化)三、反复操作再回到Tutorial ,点击打我=> 扫描减少了的数值=> 扫描没变动的数值反复操作,最后就会只剩14个地址四、简单判断简单判断下(Tutorial中告诉你了这个数值是小于500的),很容易就找到了最终的地址。

双击把地址加到地址栏,然后更改数值为5000,就可以过关了(前面教程有说过,这里就不再重复了)闯关成功。

第4关的密码是890124这一关的操作和前面和基本相同,主要是介绍一下什么浮点数:浮点数就是带小数点的数字如何扫描呢: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.重复上述步骤,直到结果缩小到几个或者一个内存地址。

ce修改器教程

ce修改器教程

接着第一关的操作按下一步进入教程第二关,需要扫描的精确数值是100现在开始搜索精确数值100 数值中输入100点击首次扫描按钮一般游戏就是4字节,这里不需要改动,默认就好。

这次扫描我们得到59 个结果,里面肯定有我们要找的那个血值,不过好像太多了。

关键一步:回到Tutorial 点击打我按钮,此时血值已有变化了:我们再输入96 点击再次扫描按钮结果只剩1个(这就是我们要找的),我们双击此地址将其添加到地址栏:只有1个结果了,这个就是我们要找的内存地址,双击将其加入到地址栏图示操作:把95 改成1000 点击确定按钮此时教程的下一步按钮变成可用闯关成功。

操作虽然简单,但是大家需要明白这其实是一个筛选的过程,这样操作就能把地址找出来。

本关的小技巧:1、双击下图对应位置可快速更改数值。

这一关很重要,因为某些游戏中血显示的不是数字而是血条,这样的话教程2中的方法就失效了。

本关就你要教会你如何修改这些讨厌的未知数此时点击新扫描然后选择未知初始数值点击首次扫描然后出现了肯定是N多的结果,因为太多了,CE没有显示出来。

老办法,回到Tutorial ,点击打我,CE会告诉你血量减了多少,比如-1这里面我们换个思路,假设CE没告诉我减少了多少或者我根本没看清,这时应该怎么办呢?注意看下面的操作一、扫描减少的数值下拉框,选择减少了的数值,按再次扫描(此时血量减少了)二、扫描不变的数值然后选择没变动的数值(此时血量没有变化)三、反复操作再回到Tutorial ,点击打我=> 扫描减少了的数值=> 扫描没变动的数值反复操作,最后就会只剩14个地址四、简单判断简单判断下(Tutorial中告诉你了这个数值是小于500的),很容易就找到了最终的地址。

双击把地址加到地址栏,然后更改数值为5000,就可以过关了(前面教程有说过,这里就不再重复了)闯关成功。

第4关的密码是890124这一关的操作和前面和基本相同,主要是介绍一下什么浮点数:浮点数就是带小数点的数字如何扫描呢:1、首先将数值类型改成浮点数。

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寻找游戏指针的2种方法(原创)

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

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

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

进程列表00000950-SVChOSt e×e000009E8VESMgr.exeIjlOOOOOAOC-WD KeyM OnitOrCCB. exeOoOooA5C-svchost. exeOoOoOE 2C-alg.exeOOOoOE A8-adb.exe 它 OoooOB CC-Cheatengine-i386. exe 旦 COJocI990λ√INWORD∙EXEI 程序列表(长) ]输入教学软件上给岀的数字进行搜索。

OOOOO8D8-T UtOrial∙i386. exeV 00000D30-mspaint.exe[ 网络 I得到一个地址,黑色的,说明是动态地址。

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

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

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

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

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

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

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

相关主题
  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)
令狐采学创作。

相关文档
最新文档