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

逆向中的游戏

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)替换原有指令,达到阳光不消耗的效果。注意:不要重启游戏,否则需要重新执行以上步骤。

相关推荐
王杨游戏养站系统11 小时前
王杨游戏蜘蛛养站系统:提交百度站长工具平台教程!
游戏·百度·游戏下载站养站系统·游戏养站系统
码界筑梦坊11 小时前
112-基于Flask的游戏行业销售数据可视化分析系统
开发语言·python·游戏·信息可视化·flask·毕业设计·echarts
maaath11 小时前
【maaath】Flutter for OpenHarmony 游戏中心应用实战开发
flutter·游戏·华为·harmonyos
阿斯加德D12 小时前
植物大战僵尸拼接版下载2026最新版完整及游戏内容详解
游戏
源码老李1 天前
独立游戏AI音乐指南:用Suno AI让游戏拥有灵魂
人工智能·游戏·ai编程
_守一1 天前
UE DS+Nakama进行游戏服务器开发(1)源码编译nakama
服务器·游戏
魔士于安1 天前
Unity 超市总动员 超市收银台 超市货架 超市购物手推车 超市常见商品
游戏·unity·游戏引擎·贴图·模型
zh路西法1 天前
【Unity实现Oneshot胶卷显形】游戏窗口化与Win32API的使用
游戏·unity·游戏引擎
AIwenIPgeolocation1 天前
IP地址数据服务:赋能游戏行业体验优化与精细化运营
网络协议·tcp/ip·游戏
前端不太难1 天前
AISystem:鸿蒙游戏中的 AI 行为驱动
人工智能·游戏·harmonyos