【CE】图形化CE游戏教程通关手册

【CE】图形化CE游戏教程通关手册

文章目录

导读

需求

除了Tutorial-x86_64.exe教程外,CE还提供了图形化教程gtutorial-x86_64.exe。作为强迫症深度患者,自然是要把所有关卡都完成的,今天就按照小编的思路,一起通关图形化作弊教程吧。

1️⃣ 第一关

提示

bash 复制代码
Every 5 shots you have to reload.
after which the target will heal
Try to find a way to destroy the target
(Click to hide)
bash 复制代码
每 5 次射击,您就会被重新加载目标,之后目标会愈合。
尝试找到一种方法来摧毁目标。

操作

简单的尝试就明白,目标不会被直接摧毁,简单的说,就是第5次执行的时候会被重置。

其实,这个5是个坑,我们应该做的是,将目标血量清零。

  1. 定位目标血量

    • 1.1 按照下图配置,进行首次扫描

    • 1.2 执行一次打击,然后设置扫描类型为减少的数值,点击再次扫描

    • 1.3 将扫描类型设置为未变动的数值,点击再次扫描(不断的回到游戏,可以多次扫描未变动的数值)。

      重复1.2和1.3操作,射击4次后,只剩下22个结果。

    • 1.4 我们从结果中,可以看到两个值为4的值。修改该值,目标血量也跟着进行了变化。可以猜测,该值就是我们想要的值。

  2. 找规律,我们重复攻击目标,会发现,每次血量都会减少24点。

    那么我们直接将血量改为24,是不是就可以完成任务了。尝试之,的确有效。

    不过,这里需要注意的是,不能在最后一次攻击的时候设置24,否则依然会使得血量恢复。而且不能直接设置为0,攻击没有任何效果。

总结

  • 搜索技巧:未知初始值、减少的值、不变的值。
  • 多观察、多猜测,每次减少24
  • 不断尝试修改,并验证,两个血量就是目标血量,改了后能看到血量变化。
    PS: 本关还有很多种解法,之前尝试修改代码,让血量直接变为0,也能成功。

游戏本身就是这样,不只有一种解法,缕清思路,不断尝试,总能找到合适的方案。

2️⃣ 第二关(代码共享)

提示

bash 复制代码
Step 2:
These two enemies have more health and do more damage to you than you do to them.
Destroy them

Tip/warning: Enemy and player are related
bash 复制代码
这两个敌人和你相比拥有更多的血量、造成更多的伤害。
消灭他们。

提示/警告:敌人和玩家是相关联的。

操作

跟第一关相同的思路,我们应该做的是,将目标血量清零。(盯着自己的血量不被清零比较难实现了)

  1. 定位敌人血量(参考第一关)

  2. 在两个敌人地址上执行《找出是什么改写了这个地址F6》,分别攻击两个敌人,定位到血量减少的代码,如下图:

  3. 分析步骤2中的内容,发现减少敌人血量代码的是同一块(减少自己血量的代码也是这里)。

    那么直接修改该处代码,当rax分别是0x00000000116F8D000x0000000011927580时,将其血量清零,是不是就可以了呢?

  4. 在地址"gtutorial-x86_64.exe"+400E3(第2步中截图中的指令地址)处,增加代码注入,生成模板代码如下:

lua 复制代码
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"gtutorial-x86_64.exe"+400E3) 
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
sub [rax+60],edx
ret 
add [rax],al

exit:
jmp returnhere

"gtutorial-x86_64.exe"+400E3:
jmp newmem
nop
returnhere:
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"gtutorial-x86_64.exe"+400E3:
sub [rax+60],edx
ret 
add [rax],al
//Alt: db 29 50 60 C3 00 00
  1. 在newmem: 下面增加如下代码:
lua 复制代码
cmp eax, 0000000011927580
je kill
cmp eax, 00000000116F8D00
je kill

jmp originalcode


kill:
mov edx, [rax+60]
sub [rax+60],edx
ret

比较修改前后代码,如下图(包含代码含义):

上面的汇编代码可以有很多种,只要能完成任务即可。

验证

这个操作需要特别注意,需要快速攻击两个敌人,时间不能差太多,否则会出现第二个角色回血的现象。

等待敌人被命中,将会弹出成功的对话框。

3️⃣ 第三关

提示

lua 复制代码
Step 3:
Mark all platforms green to unlock the door
Beware: Enemies are 1 hit kill(and bad losers)
Have fun!

Hint: There are multiple solutions
e.g: Find collisiton detect with enemies.or teleport, or fly
Or ..
lua 复制代码
把每个平台标记为绿色可以解锁那扇门。
注意:敌人会将你一击致命(然后就失败了)
玩的愉快!

提示:有很多解决方案。
比如:找到与敌人的碰撞检测,或者 Teleport(传送),或者飞行,或者...

提示

根据提示,首先想到的就是坐标,玩家移动,坐标将被修改。

  1. 搜索出玩家横坐标地址。

    按左右键不断移动玩家,搜索变动的数值

    一直按左键,游戏边界检测,玩家坐标不会变化,搜索未变动的数值

    不断重复上面的操作。

    PS :修改0x01631550的第一个字节,玩家会消失,猜测是玩家是否挂掉的标记)

  2. 确认纵坐标

    在内存窗口中,查看0x01631550地址。

    按空格键,使玩家跳起来,观察到0x01631558地址的值会变化,确定纵坐标(修改该值为0,玩家会从高处落下!!!)。

  3. 修改代码,实现玩家飞行

    右键0x01631558地址,选择菜单《找出是什么改写了这个地址F6》。

    按空格键,使玩家跳起来,会发现有两处地址改写了纵坐标NOP掉这两处代码即可。

其实 简单点 基本x,y 会一起编写 这样 y地址 = x地址 + 4 。当然也会存在个别的时候。

  1. 修改纵坐标,按左右键移动横坐标,使所有平台标记为绿色

  2. 测出地图中右下角坐标(0.97,0.86),修改玩家坐标,使玩家瞬移到右下角。

总结

整体分析过程梳理:

  • 确认横坐标:搜索内存,分析出玩家坐标地址。
  • 确认纵坐标。
  • 修改代码,实现玩家飞行。(nop掉修改用户纵坐标的代码)
  • 修改玩家纵坐标,按左右键移动横坐标,使所有平台标记为绿色。
  • 测出地图中右下角坐标(0.97,0.86),修改玩家坐标,通关。
相关推荐
不想吃饭e2 小时前
在uniapp/vue项目中全局挂载component
前端·vue.js·uni-app
非凡ghost2 小时前
AOMEI Partition Assistant磁盘分区工具:磁盘管理的得力助手
linux·运维·前端·数据库·学习·生活·软件需求
UrbanJazzerati2 小时前
前端入门:margin居中、border、box-radius、transform、box-shadow、mouse事件、preventDefault()
前端·面试
蝎子莱莱爱打怪2 小时前
🚀🚀🚀嗨,一起来开发 开源IM系统呀!
前端·后端·github
Enddme2 小时前
《前端笔试必备:JavaScript ACM输入输出模板》
前端·javascript·面试
前端鱼2 小时前
前端面试中值得关注的js题
前端·面试
UnnamedOrange3 小时前
有来前后端部署
前端·后端
德育处主任3 小时前
p5.js 绘制 3D 椭球体 ellipsoid
前端·javascript·数据可视化
未来之窗软件服务3 小时前
未来之窗昭和仙君 (四) 前端网页分页 — 东方仙盟筑基期
前端·仙盟创梦ide·东方仙盟·东方仙盟修仙·昭和仙君