侧边栏壁纸
  • 累计撰写 179 篇文章
  • 累计收到 10 条评论

Cheat Engine教程6 指针

Datehoer
2020-10-12 / 0 评论 / 4 阅读 / 正在检测是否收录...


终于,要开始指针了!
指针其实我觉得非常的重要,虽然这句话是我从书中看到的,但是不妨碍它的重要性。
因为其实大部分的游戏,你关闭开启或者上一关下一关都会使得数据发生改变,如果你不通过指针来记录数值的话,那么你下次打开游戏,你上次搜索的值是毫无作用的。
废话不多说,先上题目。


步骤 6: 指针: (密码=098712)
 
上一步阐述了如何使用"代码查找"功能对付变化位置的数据地址,但这种方法往往不能达到预期的效果,
所以我们需要学习如何利用指针。
在本关的 Tutorial.exe 窗口下面有两个按钮,一个会改变数值,另一个不但能改变数值而且还会改变数值在内存中存储的位置。
这一步,你不需要懂得汇编,但如果懂的话会很有帮助。
首先找到数值的地址,然后再查找是什么改写了这个地址。
再次改变数值,CE 便可以列出找到的汇编代码。 双击一行汇编代码(或选择它并点击"详细信息")并打开"详细信息"窗口以显示详细的信息,用来告诉你当这个指令运行时发生了什么事情。
如果在这条汇编指令中没看到方括号([])的存在,我们就应该查看下一条汇编代码的详细信息,
如果看到了方括号,那很可能表示我们已经找到了需要的指针。
返回到主 cheat engine 窗口 (只要你愿意,你可以保持这个额外的信息窗口为打开状态。如果你要关掉它,那么要记好方栝号中间的代码)并做一次
4 字节的扫描,扫描"详细信息"窗口中告诉你的一串十六进制数值。
扫描完成时它可能返回一个或几百个地址。大多数时候你需要的地址将是最少的一个。现在点击"手工添加地址"按钮,并勾选"指针"选项。
"添加地址"窗口将发生变化,多出了"Address of Pointer(指针地址)"和"Offset (Hex)(偏移量(16进制))"的文本框,以便您键入一个指针的地址和偏移量。
请尽量填入刚才扫描到的地址。
如果汇编指令中的方栝号里存在计算(例如:[esi+12])则把数值部分填在"Offset (Hex)"的文本框中,如果不存在,则让它保持为
0 。
如果看上去是更复杂的计算指令的话(举例说明一下):
[EAX*2+EDX+00000310] eax=4C 并且 edx=00801234.
这种情况下 EDX 便是数值的指针,而 EAX*2+00000310 则是它的偏移量, 所以你要填在"Offset (Hex)"的将是 2*4C+00000310=3A8。(这些都是在十六进制下计算的,你可以使用WINDOWS的计算器,在科学方式下用十六进制计算)。
回到教程,点击"确定"这个地址便会加到 CE 主窗口下方的地址列表中,如果没做错,在地址栏将显示 P->xxxxxxxx,而 xxxxxxxx
和你扫描到的地址数值是一致的,如果不一致,那么可能是哪里出错了。
现在, 改变那条指针地址的数值为 5000 并锁定它,然后点击 Tutorial.exe 窗口上的"改变指针"按钮,如果一切正确,"下一步"按钮将变为可点击状态。
 
备注:

你也可以使用"指针扫描"的方式来查找这个指针地址。


步骤:
首先还是一样,先把值给搜索出来  


然后右击它选择是什么改变了我(类似,忘记了,懒得看),然后我们改变一下数值,之后会在框中出现一行数值,我们双击它或者选择旁边的详细信息

。我们关注红色这一行,发现后面的值为[rdx],eax并没有偏移量,偏移量是什么?------偏移量就是[rdx+000056],eax,这里面56就是偏移量。
我们记录下来后面的你要查找的该地址的指针数值可能是014E7FF0,把014E7FF0记录下来,其实这个值不一定是正确的,但是绝大部分是正确的,然后我们把这个值拿去搜索,记得选择16进制/hex

直接出绿色基质了,我们记录他的地址之后选择手动添加地址,把这个地址填上

之后就会得到所需要的值,把他激活一下修改数值为5000,然后点一下改变指针即可通关。
x

0

评论 (0)

取消