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

早就打算写个关于指针修改的文章了,只是一直没找到合适的范例游戏。前段时间不小心修改了下红警3,发现这个游戏确实太适合拿来用做修改的演示了,呵呵。

说起来,指针确实是一个非常恐怖的东西。首先,到底什么是指针呢?以下是引用自维基百科的解释:

在信息工程中指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中的寄存器(Register)。指针一般出现在比较近机器语言的语言,如汇编语言或C语言。面向对象语言如Java一般避免用指针,而是引用。指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的变量或函数的值。

提起指针,就不得不让人想到了CE的教程里那个十分可怕的最终章里,那个指向指针的指针的指针的指针,也就是传说中的4级指针,变态无比。不过好在一般游戏中几乎是不会看到这么过分的东西出现的。说起来,CE的那个教程Cheat Engine Tutorial是十分棒的东西,如果你对于修改还有什么不明白的地方的话,建议先去试试那个东西,会很有帮助的。

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

ce

首先当然是祭出我们的CE大神了。嘛,虽然我自己有做过汉化的版本,不过实际上一般修改仍然喜欢使用英文版的,嘿嘿。

pic000

进游戏

pic001

很容易就找到了钱的地址。请注意,红警3可能会找出很多个不同的地址,其中有些地址是无效的,如果你最终出现了什么问题,有可能就是这里选择错了地址。没有什么特别好的办法,只能一个一个试。现在我们添加钱的地址,然后老办法选择Find out what writes to this address,查找是什么在写入该地址,然后回游戏接着造点东西。

pic002

同样是很同意就找到了唯一的一个操作码,双击该操作码打开扩展信息窗口。这个窗口中的信息十分有用,请注意红字标出来的操作码,mov [esi+04], eax。这就是该我们钱的操作码,而[]中的就是指针,也就是真正的钱所在的地方。

现在我们就开始寻找这个指针。在这个窗口下面找到ESI的值:056951D8,然后回主窗口(扩展信息窗口可以先不关闭),点开一个新的搜索,勾上HEX,然后搜索这个ESI的值,一般就能找到一个唯一的地址。

pic003

找到以后不要着急双击。点击地址列表上面的“手动添加地址”,然后在弹出的窗口中勾上“Pointer”也就是指针。现在可以在地址栏里填入刚才扫描出来的地址了,05065c38。注意,还记得刚才的扩展信息窗口吗,里面指针的地址实际上是esi+04,也就是说,我们还需要在地址后面加上+04的偏移量。

pic004

添加以后,看到数值了吗?指针的值和我们刚才搜索到的钱的值是一样的,这就对了。

pic005

现在你可以随便对他下手了。

pic006

至此修改完成。

Cheat Engine 高级应用——指针修改》上有20条评论

  1. Pingback引用通告: 弹指神功 » Blog Archive » Cheat Engine 高级应用——指针修改

  2. Forstar Ci

    怎么吧指针添加到高级选项的代码表里呢……

    Internet Explorer 8.0 Internet Explorer 8.0 Windows XP Windows XP
    回复
  3. Forstar Ci

    加我QQ:1054092716 :ohehe: 我要问你很多问题 :ohehe:

    Internet Explorer 8.0 Internet Explorer 8.0 Windows XP Windows XP
    回复
  4. Pingback引用通告: CE教程之自动汇编 | wettuy's blog

  5. 紫色溟渊

    你好 wettuy 你的教程做的很好

    希望你以后多发技术贴,我会时刻关注的

    你的几篇技术文章 我已近转载,但是 并无恶意 ,只是觉得很好

    :06: :06:

    Maxthon 2.0 Maxthon 2.0 Windows XP Windows XP
    回复
    1. wettuy 文章作者

      朋友,谢谢你的支持,不过如果可能的话,转贴的时候注明一下出处,我会更有动力的^_^

      Firefox 3.5.3 Firefox 3.5.3 Windows 7 Windows 7
      回复
  6. Pingback引用通告: Cheat Engine 教程——基础知识篇 - wettuy's blog

  7. moongates

    你好!在论坛上看了别人转载的你的贴子,顺着找来了这里~
    觉得你讲得特别好,思路清晰,图文并茂,甚至连我这个菜鸟都能看得懂 :06: ,这大大的激起了我学习CE的兴趣啊呵呵

    谢谢你愿意把自己的知识与大家分享喔 :21: 希望你以后能多发这么好的教程

    360Safe Explorer 360Safe Explorer Windows XP Windows XP
    回复
  8. 龍翔翎

    類似的看過很多,無一例外的到「勾選HEX掃描地址」這一步失敗,都是0個結果。也就是我找不到儲存指針的地址,是因為64位系統的問題?

    Google Chrome 67.0.3396.99 Google Chrome 67.0.3396.99 Windows 10 x64 Edition Windows 10 x64 Edition
    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注