Cheat Engine 基础操作

前言

一些 Cheat Engine 的基础操作知识和方法,使用的版本是 CE 7.5 。

简单的准备

Cheat Engine 基础操作
一般来说将,可写切换成方框状态打开,关闭快速扫描。

查找修改数据

最简单的直接查找不说了,要注意的是一些游戏可能使用的不是 4字节 ,如果找不到可以尝试直接在数据类型那里选择 所有类型

另外一种方法就是没有精确的数值,可以在扫描类型先选择 未知的初始值 ,之后在游戏内不断地调整数值,选择 增加的数值减少的数值,来不断地缩小范围。也可以通过,不改变游戏数值,在扫描类型里面选择 未变动的数值 然后打开重复操作,这样让他过滤一段时间来缩小范围。

通过指针扫描获取基址和指针

一般来说通过上面的方式找到的地址,游戏在重启,返回标题后重进等操作就会失效,所以我们需要一个比较固定的地址和偏移量,方便我们以后来使用。
这里使用一个案例来讲解:
前提还得是先通过上面的方法获取到一个数据的地址,如图第二行的地址,第一行是我已经找到了的基址。

然后我们右键,选择 对这个地址进行指针扫描

之后进入 指针扫描器选项

这里着重说一下,首先要打开 显示高级选项
推荐关闭选项 允许第一个线程的堆栈地址是为静态处理,可以降低一些扫描出来的数据。
对于 32位 和 64位 游戏不同不同设置。如果你是 32位 的游戏,那么选项 地址必须是32位(4字节对齐)的 这个选项需要勾选。同时 最大级别 那里可以考虑使用默认的 5 。如果是 64位 游戏,那么你就需要关闭那个地址必须是32位的选项,同时最大级别需要更高一些,比如8或者10或者12 。我推荐可以先从8开始尝试。最大允许的偏移值,64位 游戏可能会更高比如 4096 甚至上万。这个只能具体尝试了。这个的含义我会在后面解释一下。
你所调试的是32位还是64位,可以通过打开任务管理器,查看任务的进程,如果是 32位 的话后面会写出来。
之后就可以点击确定开始了,这个速度是依赖你的 CPU 的并且有可能数据会非常地庞大。他会让你保存一个文件,这里建议用英文命名并保存,比如 t1.ptr

这里可以看到我们大概是获得了 1w3 的结果。
之后我们需要让游戏刷新,你可以考虑,返回标题,或者关闭游戏重开,或者重启电脑。具体用哪个取决于后面你操作起来的效果,我推荐从最简单的返回标题开始尝试。
因为这个游戏我已经找过了,我返回标题是没有用的,底下的地址不会变所以我选择重开游戏进程,然后再依靠前面的方法重新找一次。

这里可以看到底下的之前那个地址 26C3CB5AB70 已经没了,变成问号了。我们而上面新找到的发现有5个结果,那么我们就只能一个一个试了。
如果你把刚才那个指针扫描器关闭了,可以点击 查看内存 -> 工具 -> 指针扫描器 重新打开。在 指针扫描器 选择 文件 -> 打开 选择刚才我们保存的 t1.ptr

之后我们先选择第一个数值的地址,右键 复制所选地址 ,然后回到 指针扫描器 ,选择 指针扫描器 -> 重新扫描内存 - 移除没有指向正确地址的指针

这里有两种方法,一种是按地址查找,另外一种是按数值查找。这里演示按地址查找:

输入刚才复制的地址 23551799B70 然后点击确定,这里务必要保存到一个新的文件不要覆盖旧的,比如这里起名 t2.ptr
如果你获得的指针路径变成了0,那么就重新打开之前的 t1.ptr ,然后选择第二个地址,再次操作。
这里是成功了的图片

可以看到数量明显变少了,变成了 150 个,然后可以重复这个操作直到比较少了为止,这个不会说固定成仅剩几个的。需要一些经验判断,并且有可能这些基址都是可以用的。你可以尝试测试一下,选择几个地址,双击,这个地址就会被放到你的操作区里面,然后你再次尝试重开重启等操作,查看他是否还能够成功读取到这个地址。经验来讲的话,像我示例的这种 mono 的 Unity 引擎游戏,一般不会是他的那个 mono.dll 。所以我们直接选择那个 UnityPlayer.dll 的地址双击。

可以看到这个跟我之前找到的基址是一样的。这里双击点卡后可以看到详情,稍微讲一下。首先是指针那里一共是7栏,这个对应我们最早指针扫描器选项里面的 最大级别 刚才我们选择的是 8 。每个栏上那个 F0 158 什么的就是偏移量,这个对应了我们前面的 最大允许的偏移值,指的就是这个。
至此我们找到了我们需要修改的基址。


参考资料:

订阅评论
提醒
用户头像

0 评论
最旧
最新 最多投票