首页
社区
课程
招聘
[原创]Cheat Engine进阶教程:gtutorial-i386闯关记 第三关 [完结撒花]
发表于: 2019-2-20 16:02 6151

[原创]Cheat Engine进阶教程:gtutorial-i386闯关记 第三关 [完结撒花]

2019-2-20 16:02
6151

这是最终CT表中的表项:

    作者延续前一关变态作风,gtutorial第三关依然是不修改游戏无法过关(至少我不能!):左下角那个白色小人是玩家,画面上3个刺猬是移动障碍物,玩家触之即死。游戏提示为:将所有红色平台变绿即可开门。
    整个游戏有2个难点:难点1,如果不修改游戏,玩家无法从平台A跳上平台B,更何况地面上还有刺猬捣乱,影响发挥!难点2,门开启的瞬间,这3个刺猬飞向门边,摆出副上门讨债的架势把门堵死了,玩家碰到刺猬又会过关失败,所以玩家根本无法进门。

现在进入正题,说说怎么过关,受这篇Creating a cheat table - Coordinates文章的启发,我的想法是修改玩家的坐标,让它可以到达画面的任意位置。由于这关有2个难点,所以本文分两部分介绍。
先说难点1,怎么开门:在整个游戏中,除了玩家可以上下运动(跳跃),玩家和障碍物都可以横向运动,所以定位玩家的Y坐标要比定位X坐标简单。最开始,我在几个比较低的平台上来回跳跃来改变及定位玩家的Y坐标,但是由于刺猬的影响,Y坐标还没确定游戏就结束了。所以我重新审视了一下游戏:作者说要让所有平台变绿才能开门,我算了下连同玩家脚下的地面一共有12块平台,作者有没有可能再程序中设置了全局变量记录变绿的平台数?让我们试一试。游戏开始时,地面已经变色,所以,在CE的value编辑框中输入1。"Scan Type"选择"Exact Value";Value Type选择"4 Byte",然后按"first scan"做初次扫描。接着再跳平台-扫描,重复几次,马上能定位存储着变色的平台的变量:

定位变量后就简单了,直接将变量值改为12,画面右边的门马上会开,但同时,游戏的后半部分情节马上开始(看看小人的表情,分明是再说WTF):

2.刺猬堵门后,由于没有干扰,搜索玩家的坐标反而变得一马平川了。先搜索X坐标,让玩家回到画面左下角,在CE上点击"New Scan","Scan Type"设为"Unknown initial value","Value Type"设为"Float",然后点击"First Scan"。之后,控制玩家慢慢向右移动,每次移动-暂停时,在CE中设置"Scan Type"为"Increased value"并点击"Next Scan",反复几次即可定位x坐标。最终,读者会发现x坐标在[-1,1]区间内变动:

 有了存储x坐标的变量的地址,估摸着存储y坐标的变量的地址肯定在附近。由于sizeof(float)=4,所以y坐标可能距离x坐标4字节。我们需要从Cheat table中复制黏贴2次x-coor项。第一次设置"Adjust address by"的值为4("Adjust address by"意为,复制项的地址距离源项的偏移),并设置该新添加的项在CT表中的Description为"y-coor(+4)";第二次设置"Adjust address by"的值为-4,并设置该新添加的项在CT表中的Description为"y-coor(-4)":

当然刚才添加的两个CT项并不一定就是y坐标,需要通过上下跳跃来验证其正确性。在游戏中按下"p"键即可让游戏暂定,我们在玩家起跳时记录下原始数据,当玩家起跳后再次记录数据,落地后第三次记录数据。通过以上步骤可以找到x坐标的地址+sizeof(float)=y坐标的地址。有了这两个坐标变量就可以随意改变玩家的位置,比如浮空(要达到浮空的效果,记得把x坐标和y坐标两个变量Freeze)如下图:

    至此,过关不成问题了。但是,总觉得少了点什么?对,没做外挂!恩,这关的外挂做什么呢?好像整个游戏中定位玩家坐标的过程最为复杂,那就做个定位外挂,用来定位玩家坐标的基址~
收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 24477
活跃值: (62774)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
666 感谢分享!
2019-2-20 16:22
0
雪    币: 4709
活跃值: (1575)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
一会去玩,感谢分享!
2019-2-20 18:48
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
锁定还是不能浮空,跳起来马上掉下来。
请教怎么解决
最后于 2019-3-4 17:44 被Pstrive编辑 ,原因:
2019-3-4 17:43
0
雪    币: 802
活跃值: (4433)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
5
Pstrive 锁定还是不能浮空,跳起来马上掉下来。请教怎么解决
是的,锁定功能其实是定时检测变量有没有修改。如果改动ce会把值改回去

应该是游戏本身有所谓的重力检测。你试试把修改y变量的代码去掉
2019-3-22 18:43
0
游客
登录 | 注册 方可回帖
返回
//