跳转到内容

CE修改器教程关指南(x64)

维基教科书,自由的教学读本

本教程旨在让读者能够自行通关教程关,不含实战内容。

打开 CE , 从菜单栏->帮助->CE教程(64位)启动教程

1.欢迎

[编辑]

在CE的左上角找到小电脑图标。按下,弹出进程列表。找到 Tutorial-x86_64 , 选中,按打开按钮或者双击进程名。

这样CE上方就会显示进程的名字,说明附加到进程了。然后,点击教程里的下一步。

2.精确值扫描

[编辑]

现在,你应该可以在窗口里看到一个健康值和一个“打我”按钮。

每次点击“打我”,健康值都会减少。

我们需要先找到这个健康值,然后把它改成1000.

我们使用精确数值扫描来找。数值类型默认是4字节就好。然后把健康值填到上面的框框里。

100
扫描类型 精确数值
数值类型 4字节

然后按“首次扫描”。

你可能会扫描出几百个结果,里面肯定有我们需要的那个,不过太多了。

我们得筛选一下。

回到教程,按“打我”,健康值减少了!变成95了!

去左边地址栏里看一看,你就会发现有几个地址变成红色了,这说明他们值变了!

那么好,让我们筛选出变成了95的那个吧。

在右边数值栏里输入 95 ,点击 “再次扫描”。

只有一个结果,这就是我们要找到那个。

把这个地址添加到下面的地址栏(就是一个地址收藏夹)里。

什么?你问我怎么添加?

  • 选中地址,按地址栏上面的那个↘
  • 选中地址,右键->将选中的地址添加到地址列表
  • 双击地址

呐呐呐,这些操作都可以啊。

然后,要更改这个地址的数值。

  • 在地址栏里双击数值95
  • 右键地址->更改记录->数值

然后输入 1000.

回到教程,你可以看到下一步可以点了。那么,让我们继续吧!


小技巧:在左边的结果栏里右键地址时除了“将选中的地址添加到地址列表”,还有一个“改变已选中地址的数值”。这里可以直接改,少去了添加到地址收藏夹的步骤。

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

3.未知的初始值

[编辑]

首先说明下重点. 因为你要进行的是"新的扫描",所以你必须首先点击"新的扫描"才能开始一个"新的扫描". (你一定认为这很简单, 但是有很多人困在这一步啊)所以请记住这一步骤

你现在应该已经点击了"新的扫描",左边结果列表清空,看到了“首次扫描”按钮,让我们继续。

在这一关,你会看到一个血槽。

在上一关中我们知道初始数值的大小,所以我们可以利用"精确数值"扫描,但本关中仅有一个血槽,我们并不知道它的初始数值。

我们只知道这个数值在0到500之间,并且每次点击"打我"之后便会减些健康值,每次减少的健康值会显示在进度条的上方。

同样有好几种方法可以找这个数值,(例如使用"数值减少了..."扫描方式),但我只教你最简单的方法,"未知的初始值"和"减少的数值"。

由于不知道当前数值的大小,"精确数值"扫描便派不上了用场,所以选择扫描类型选中"未知的初始值"。数值类型仍然选择 4 字节(这是因为大多数WINDOWS应用程序都使用 4 字节存放数据)。点击"首次扫描"并等待扫描结束。

你应该可以得到2000000+个结果,因为结果太多了,CE就不列出了。

扫描减少的数值

[编辑]

按“打我”,你会看到血槽少了,还有一个扣血数字一闪而过,没必要记这个数,我们这个方法就是防止没看到扣了多少的。

CE 里,下拉扫描类型框,选择减少了的数值,按再次扫描(此时血量减少了)。

扫描不变的数值

[编辑]

然后回到教程,什么都不要做,再回到CE,扫描类型选中“未变动的数值”,再次扫描。因为我们上次扫描之后只是回教程里看了看,没扣血嘛。

这一下结果就更少了。

重复操作

[编辑]

打我 => 扫描减少了的数值 => 扫描没变动的数值 反复操作,最后就会只剩几个地址。

我们把结果里的几个0~500的地址添加到下面地址栏里。然后逐个更改看看哪个凑效。把其中一个改成5000后,下一步按钮就可以点了。


大家一定要明白这样操作的思路:

血量减少=>CE搜索减少的数值

血量不变=>CE搜索不变的数值

血量增加=>CE搜索增加的数值

这样反复筛减,就能很容易找到最终的结果。

4.浮点数

[编辑]

这一关的操作和前面和基本相同,主要是介绍一下什么浮点数:

浮点数就是带小数点的数字。

如何扫描呢:

1、首先将数值类型改成 浮点数。

2、浮点数扫描时不必输入后的小数 94.444 扫描时输入94就可以了

其它的操作和前面的基本相同。

首次扫描->扣血->再次扫描。

找到我们要的地址,改数值为 5000


浮点数也分为2种:

1、浮点数 也叫单精度浮点数 英文是Single Float

2、双浮点数 也叫双精度浮点数 英文是Double Float

这里面要强调的是:

浮点数的长度是4字节,使用4字节也可搜索到浮点数,但需要使用未知的初始值搜索。

双浮点数的长度是8字节,使用8字节也可搜索到浮点数,但需要使用未知的初始值搜索。

5.代码查找

[编辑]

前面的教程已经教会你内存的基本搜索方法。本关有点特别:

本关的目的就是要让改变数值的按钮失效,很神奇,但是有什么用呢?

1、在游戏中我们可以利用此功能使金钱数量不会发生变化。

2、可以利用此功能让怪物攻击失效,从而实现无敌的效果。

3、让弹药不会减少,从而实现无限弹药的效果

那么,开始吧

先找到目标地址,这是个整数,就用前面的方法找。

添加到地址栏里。

然后,右键这个地址->找出是什么改写了这个地址。按“是”。

弹出一个小窗“下列代码写入到xxxxxxx”。

按教程里的改变数值,小窗口中会出现一行代码,选中代码,然后点击替换,确定。

这样这行代码就会失效。

按教程里的改变数值,这时候数值已经不会变了,下一步。

操作非常简单,但是为什么这样就会使按钮的功能失效:

改变数值按钮其实是通过 代码 mov [eax],edx 来实现数值改变的。

我们在的最后一步操作就是要把这行代码替换成什么也不做(英文是 Nop),这样就会让按钮的功能失效。

6.指针

[编辑]

在一家母猪养殖基地门口,张三呆呆地立在那里,他手上拿着的,是上次来拜访李四的地址。

“什么?之前在这里住的人搬哪里去了?不知道啊,这里就是一个不断变动的地址啊,哪会每一次都是同一个人。”基地里的人告诉张三。

“你也不知道之前这里的人去了哪吗?”张三问

“我就是一个在这里干活的,我哪知道那么多”

张三遗憾地走出了基地。

李四,是张三的老同学。一年前被选上优秀扶贫干部,正被到处派遣去扶贫。

因为地址经常换,这让张三很是头疼。

“你在哪里....我的老同学?”张三说

...

在一所屋子里,李四正坐在办公桌前,整理着公务文件。

突然,从门外进来一个人,李四抬头一看,是张三。

“李四,我可终于找到你了啊!”张三哭道。

“我搜寻了2000000+个地址,不断扫描不变的数值,最后一个一个上门拜访,终于才见到你真人啊!”张三说。

李四:“我有那么难找吗?”

张三:“你经常调动,地址又没有一个固定的,当然难找了”

李四:“那么我告诉你一个技巧,包你以后能找到我”

张三:“什么技巧?”

李四:“知道为什么每次上面有文书下达,文件都能顺利送到我手上吗?”

张三:“因为他们知道你的地址变成啥了?”

李四:“不是,因为他们知道【指针】”

张三:“那是什么”

李四:“我教你如何找指针哦”

“首先,你已经有我的地址了,那么,右键这个地址->找出是什么改写了这个地址

接下来,按下改变数值,模拟文书下达,于是我的值变了,除此之外CE还发现了一个指令

mov [rdx],eax

你按下“详细信息”,就会看到一堆名叫RDX的家伙,下边有一个 ,RDX = 015730C0”(你的RDX可能是别的值

张三:“这是你家地址”

李四:

没错,复制这个 015730C0 ,回到CE主窗口,新的扫描,勾上16进制,然后填入015730C0 ,扫描一波,你会发现一个绿色的地址 Tutorial-x86_64.exe+306AD0

张三:“为什么是绿色的”

李四:

因为这是乡政府的地址,乡政府的地址是不变的,不论什么时候你去这里,这里都是乡政府。

而在乡政府那里,存着我的地址。

那么这意味着什么呢?无论什么时候,你去乡政府那里,都能获取我的地址,也许我的地址是变动的,但是乡政府那里绝对会记录我的最新地址。

你只要去找乡政府,就能从他那拿到我的地址了,有我的地址了,还怕找不到我吗?

张三:“那我怎么用呢?”

李四:

在CE地址栏右上角那里,按“手动添加地址”,勾上“指针”。

Tutorial-x86_64.exe+306AD0 填到最下边的框框里,上面的偏移填写 0 ,

然后最上边地址那里,就出现 刚才你苦苦搜寻的目标地址 015730C0 了。

按下确定,地址栏里新增一条记录,

P -> 015730C0   4  字节   324

这个就是靠指针寻找我的方法了。

张三:“果真如此吗?”

李四:

那么你去教程里,按一下“改变指针”。

是不是 015730C0 根本没什么用了,那个新增的 P -> 地址的值是正确的随着变化的?

在指针地址这里把值修改为 5000 , 然后单击地址前面的框框,锁定住这个数。

再回到教程,单击改变指针,等一会,就可以下一步了。

张三:“那么偏移是个啥”

李四:

有时,乡政府那里登记的不是我家地址,而是村委会地址。我一般就在村委会旁边往右第4个房子边住。

这情况下,你得到村委会的地址后,+04就可以算出我的地址了。

张三:“+04是从哪里看的,我怎么知道登记的是村委会地址还是你家”

李四:

mov [rdx],eax 如果是 mov [rdx+04],eax

那你就+4,如果不加,那你就不用加了。