初学CheatEngine的使用(内含CE Tutorial Games--1)

CheatEngine

很早就接触过了CE修改器,当时是玩一些幼稚小游戏,然后用ce修改器修改金币和经验。不过也仅仅是接触,从来没有深入过,这次CNSS招新有道贪食蛇的题目(wtcl,还没写出来),可以用CE调试,我就准备学下CE调试,然后刚刚好它有几个教程,这篇blog就来写下写CE教程题目的经历.
总共分为两部分,一个是Cheat Engine Tutorial,另一个是Cheat Engine Tutorial Games.

Cheat Engine Tutorial

这部分非常基础,然后基本上就是CE的基本用法.
第一关到第八关有手就行,然后第九关有一个点我没接触过,这里记录下来.
第九关是个小游戏,敌我双方各两个人,但是敌人伤害高血还厚,我们打不过,而过关的条件就是把敌人乃一组特.(如图)
第九关
首先肯定是搜索血量,很容易搜到四个人的血量的地址.然后F6,查看是什么改写这个地址.查看之后发现改写的时候调用的是同一个函数(如图).

第九关
那直接修改掉那个fsubr的函数肯定是不行的了,现在肯定得把自己人和敌人区分开来,这个时候就要利用ce分析数据结构的功能.
ctrl+d 打开结构分析的界面,然后注意到之前搜到的地址偏移了0x04,第九关
所以这边最好要填基址.第九关
观察后很容易发现0004处就是血量,浮点类型,这个时候我们要找个数据来区分敌人和队友,看到0010处队友标识为1,敌人标识为2.我们就可以开始注入代码了.
选中刚刚修改数据的那一行代码,ctrl+a进入自动汇编,然后ctrl+i生成注入模板,增加判断就可以.

1
2
mov [ebx+04],eax
fldz

修改为

1
2
3
4
5
cmp [ebx+10],1
je hh
mov [ebx+04],eax
hh:
fldz

这样重新运行就可以了.第九关

Cheat Engine Tutorial Games

G1

这个游戏总共三关,第一关就是用一个炮台去打靶子,但是当打出第五发子弹靶子就会回满血,通关条件就是把靶子打下.第九关
首先肯定根据剩余子弹数去搜,然后发现搜不到.但是它既然能显示出来,那肯定是经过了运算.总共五发子弹,猜测它可能是储存了发射的子弹的数量,然后根据发射的子弹去搜,果然能搜索到.第九关
猜测靶子回血是根据已发射的子弹数量,于是锁定子弹数.过关.第九关

现在采用第二个方法,找到靶子的血量并修改.
由于靶子初始血量不清楚,所以得采用未知的初始值方式去搜索,然后再根据血量的变化搜索,很快可以确定一个地址就是靶子血量第九关
把血量修改为1后,一发子弹就可以把靶子秒了.

G2

第二关的描述如下:
第九关
首先想到的就是根据自己血量去搜索,搜索到后锁定.
第九关
但是没那么简单,当干掉 一个炮台后,另一个炮台如果血量很低,会迅速回血,而且启动一击必杀追踪炮.
这个时候得换个方法了,先把两个炮台的血量找到
第九关

同Cheat Engine Tutorial的第九关,F6找到是什么修改了这些地址
第九关
然后发现也是采用同一个函数进行修改血量,和之前一样,分析数据结构
第九关
同样在区分敌我后,注入代码
第九关
这关就算过了.
第九关
这一关还涉及到2D游戏的一些知识,晚点来写关于2D游戏的blog.

G3

第三关一打开,有点熟悉的感觉哦..
猜测变绿的台阶的数量会被存储,然后果然能够搜索到:
第九关
数了数共有12个台阶,那直接修改数据为12不就好了吗,做完修改后,门是开了,但是3个带刺的小怪物会飞到门旁边堵住门,重新来一次自己先站在门那里,然后过关,但是这样过关感觉太赖了.
我们得换一种B格高一点的方法。
详见下篇Blog O。…