逆向中的游戏-入土为安的第二十五天

逆向中的游戏

CE的介绍

Cheat Engine ,简称CE,是逆向 工程师常用的几大神器之一,也是游戏汉化、破解以及外挂 编写中常用的工具,其功能包括:内存扫描 、十六进制 编辑器、调试 工具,可以进行反汇编调试 、断点跟踪、代码注入等诸多高级功能。它还附带了调试器、反汇编器、汇编器、变速器、作弊器生成、Direct3D操作工具、系统检查工具等。支持 lua 语言,可以实现自己定义的逻辑功能,而不仅仅是简单的锁定数据。也可以在代码注入的同时注入 lua 插件,使游戏进程与 CE 进程进行交互。 CE 的大部分功能都可以通过 lua 来操作。它还支持 D3D Hook 功能,可以在游戏中显示十字准星,也可以绘制功能菜单,同时也可以对 D3D 的调用栈进行跟踪调试。自带变速功能,通过 Hook 游戏相关函数改变游戏速度。自带了一个 Trainer 的功能,可以将自己在 CE 中实现的功能单独生成一个 exe 文件,并可以使用 lua 创建比默认样式更加复杂的窗体或功能。

植物大战僵尸

初出茅庐(改阳光数量,僵尸的生命值,植物的生命值,金币的多少....)

简单的扫描(主要特点有数值变化)

1.打开ce选择进程植物大战僵尸。

2.初始阳光值为500,输入500,点击首次扫描,显示结果

3.消耗(或者增加)阳光值,使阳光值产生变化为,输入50,点击再次扫描,显示结果。

4.单击右键,选择改变该值,进行阳光值的修改。

中流击楫(卡牌无CD,寻找基址)

基址

还要有一点汇编知识

开始游戏!

步骤 1:初始扫描打开 Cheat Engine 并选择游戏进程。选择数据类型:将数据类型设置为 Byte(字节型),因为植物冷却时间使用的是字节型。进行初始搜索:在游戏中,确保豌豆向日葵没有进入冷却状态,搜索值 0。

步骤 2:监测冷却变化种植豌豆向日葵:在游戏中种下豌豆向日葵,冷却时间值开始增加。更改扫描类型:将 Cheat Engine 的扫描类型更改为"变动的数值"或"增加的数值"。持续扫描:点击"返回游戏"后,立即在 Cheat Engine 中点击"再次扫描"按钮。这个过程需要在冷却结束之前快速完成,直到冷却快结束时停止扫描,或者当你发现结果数量变化不大时停止。

步骤 3:冷却恢复扫描等待冷却结束:当豌豆向日葵的冷却时间结束时,值将恢复为 0。精确搜索:将扫描类型改为"精确数值",输入 0 进行搜索。继续扫描:在此过程中,可以种植除了豌豆向日葵以外的任意植物,继续扫描,直到找到的冷却值变化不再显著。

步骤 4:确认和重复步骤重复步骤:如果找到多个可能的地址,重复第二步和第三步,确认找到记录豌豆向日葵冷却的值。观察到当你种下豌豆向日葵时,冷却值会从 0 迅速增加,直到冷却结束变为 0。

步骤 5:查找修改源右键点击找到的数值,选择"查看是什么改写了该数值",这会打开一个新窗口,记下这个信息。

步骤 6:定位并显示地址再次种植豌豆向日葵,观察哪些地址被修改的次数最多。右键选择:在找到的地址上右键,选择"在反汇编程序中显示地址"。这时会打开反汇编界面。

步骤 7:查找指令寻找相关指令:在反汇编界面中,注意寻找 mov eax, edi+24 等指令,这些指令通常会位于蓝色框下面。

步骤 8:替换指令

使用空指令替换:选中相关指令后,选择用空指令(nop)替换它,并确认。这将禁用该指令,从而实现植物无冷却状态。

步骤 9:完成完成上述步骤后,豌豆向日葵的冷却将被取消,实现无冷却效果。

通过以上步骤,你可以有效地找到并修改植物的冷却时间,使游戏体验更加顺利。

登峰造极(阳光无cd)

步骤 1:打开 Cheat Engine 并选择游戏启动 Cheat Engine,然后点击左上角的"选择进程"按钮。选择《植物大战僵尸》进程,然后点击"打开"。

步骤 2:扫描阳光数值进入游戏中的任意关卡。查看阳光数量,记录下当前阳光数(假设为500)。在 Cheat Engine 中,将数据类型设置为 4 字节。首次扫描 输入阳光的当前数值(500),然后点击"扫描"按钮。

步骤 3:更新并缩小扫描结果种植任意植物,阳光数会发生变化(例如从500变为375)。在 Cheat Engine 中,输入新的阳光数值(375),然后点击"再次扫描"。如果扫描结果仍然很大,继续种植更多植物或收取阳光,使阳光数进一步变化,重复扫描过程。每次扫描后都会有越来越少的匹配地址,直到只剩下少量的结果(最好只有一个)。

步骤 4:找出修改阳光数值的代码右键点击找到的阳光数值地址,选择"找出是什么修改了这个地址"。打开的窗口中,显示的是哪些代码修改了阳光数值。

如果没有值,说明此时阳光数未被修改,这也是正常的。

步骤 5:分析修改记录不要关闭"找出什么修改了这个地址"窗口。再次种植植物,观察窗口中的值。此时,你会看到一系列的代码记录,这些记录是阳光数值发生变化的原因。找到与种植植物相关的记录,通常显示的数值和记录次数(例如,种植植物改写了阳光数的记录次数会增加)。记录左边的数字(如1)表示因为操作(种植植物)而改写了阳光数值。

步骤 6:应用空指令替换右键点击与阳光数变化相关的记录,选择"使用空指令替换"。确认替换,这将用空指令(nop)替换原有指令,达到阳光不消耗的效果。注意:不要重启游戏,否则需要重新执行以上步骤。

相关推荐
郝学胜-神的一滴12 小时前
游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱
开发语言·计算机网络·程序人生·游戏·游戏引擎
全速向光21 小时前
盖世游戏PC模拟器:手机也能畅玩电脑平台游戏
游戏·智能手机
Minecraft红客21 小时前
以撒的结合
python·游戏·电脑·娱乐
the3clipse1 天前
视频编码技术如何赋能游戏性能优化:从硬件隔离到AI驱动的带宽革命
游戏·性能优化·音视频·视频编码·硬件加速·ai编码·自适应编码
jeffsonfu1 天前
生成对抗网络(GAN)原理:生成器与判别器的“猫鼠游戏”
人工智能·游戏·生成对抗网络
解决小子2 天前
【游戏作品设计解析】类魂游戏设计解析
游戏·业界资讯·游戏策划·游戏设计
k4m7v2pz2 天前
用中文编程语言写游戏:玄铁语言生命游戏的 macOS 适配实录
游戏·macos·玄铁·生命游戏·中文编程语言·玄铁中文编程
JQweryuiop8 天前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构
乌萨达9 天前
低配电脑玩手游怎么设置?4GB、8GB内存与模拟器选择指南
游戏·电脑·安卓模拟器·雷电模拟器
林川~0111 天前
Unity 万能物理检测工具:射线检测 / 范围检测 / 层级过滤 / 编辑器可视化(可直接拿去用)
游戏·unity·c#·射线检测·通用工具