Cheat Engine Tutorial 闯关手记 第五关

 转载自 76512

 

 

我记得《植物大战僵尸》的太阳数值就是变动的,第四关的学习,我想便能解决这个问题了~

       第五关的说明翻译如下:

       步骤 6: 指针 (PW=098712)

       上一步解释了如何使用 代码查找 功能对付变化位置的数据地址,但这种方法往往不能达到预期的效果,所以,我们需要用到指针。

       在本关的 Tutorial.exe 窗口下面有两个按钮,一个会改变数值,另一个不但能改变数值而且还会改变数值在内存中存储的位置。

       在这一步,你不需要懂汇编,但如果你懂的话会很有帮助。

       首先找到数值的地址,然后,再找到是什么在改写这个地址。再次改变数值,CE 便可以将找到的汇编代码列出来,双击一行汇编代码(或选择它 并点击 "更多信息"),打开的 更多信息窗口 将显示详细的信息,来告诉你当这个指令运行时发生什么事情。

       如果这条汇编指令中,没看到方括号([])的存在,我们就应该换另外一条汇编代码查看详细信息,如果看到了方括号,那就表示我们找到了需要的指针了。

       除了 更多信息窗口我们暂时保留以外(如果你已经关掉了,那么要记好方栝号中间的代码),剩余的窗口请关闭掉,回到CE主窗口,做一次4字节的扫描,扫描 更多信息窗口 中告诉你的一串十六进制数值。

       当扫描完成时,它可能返回一个或几百个地址。大多数情况下你想要的会排在地址列表中的最上面。

       点击 手工添加地址 按钮,并在勾选 "指针" 选项。

       添加地址窗口 将发生变化,多出了 "Address of Pointer" 和"Offset (Hex)" 的文本框,在 "Address of Pointer" 那一栏中填入刚才扫描到的地址。

       如果汇编指令中的方栝号中存在计算(例如:[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窗口上的 "Change pointer" 按钮,如果一切正确,那么 "next" 按钮将变成可点击状态了。

       提示:

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

       看上去好头晕,我们一步一步的来,用第四关的方式我们可以找到数值的地址,将地址转入CE下方的列表中,点击鼠标右键,选择 "查找写入该地址的代码" ,如下图:

       在Tutorial 窗口中点击 "Change Value" 按钮,回到 CE ,出现改动地址的汇编代码,查看更多信息,如下图:

       按照本关的说明,只要汇编代码的指令中含有方括号的部分,就象上图中代码里的 "[eax]",我们便可以基本上判断找到了指针数据;并且CE会提示我们应该查找的数值,呵呵,就是中间用英文 "Copy memory" 开头的部分,我们只需要在这部分提示文字上点击鼠标右键,选择 "复制信息到剪贴板",便可以复制数值,以备后用,如下图:

       关闭不需要的窗口,回到CE主窗口,点击 "新的扫描" ,将刚才获得的一串十六进制的数值填在数值框中,然后点击 "首次扫描" ,参照下图设置:

       扫描后,得到惟一的地址,如下图:


       看到地址用绿色的标注,表示我们找到了需要修改的数据其真正的固定地址,现在,我们点击,"手动添加地址" 按钮,参照下图填写:

       因为汇编代码方括号中的指令,并不存在本关说明中所说的计算,所以,"Offset (Hex)" 中填入 0,点击确定,在CE 主窗口的下方列表中出现该条地址,如下图:

       呵呵,正象说明中所说的,地址以 P->xxxxxxxx 的形式出现,xxxxxxxx 也与扫描到的地址数值一致;最关键的,它所指向的数据与最初找到的也一致,就是列表的 "数值" 部分。

       现在可以改数值为 5000,并且锁定它了,如下图:

       在Tutorial 窗口中点击 "Change pointer" 按钮,next 接钮可以点击了;记下第六关的密码 (PW=013370) ,休息一下~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值