【Cheat Engine7.5】基础教程第三关(步骤4)

一、简介

步骤 4: 浮点数 (密码=890124)

在前面的教程中我们使用字节的方式进行扫描,但有些游戏使用了"浮点数"来存储数值(这么做是为了给菜鸟制造一些麻烦,让他们没那么容易修改游戏)。
浮点数是带有小数点的数值(如 5.1211321.1)。
正如本关中的健康和弹药,两者都以浮点方法储存数据,不同的是,健康值为单精度浮点数,而弹药值为双精度浮点数。
点击"打我"将减少一些健康值,而点击"开火"则消耗掉 0.5 的弹药。
你得把这两项都修改到 5000 或者更多才能过关。
"精确数值"扫描的方式虽然也可以完成本关的工作,但你应该试试其它更简练的扫描方式。

提示: 扫描双浮点数类型建议禁用 "快速扫描" 

二、操作步骤

2.1、加载进程

在这里插入图片描述

2.2、查找健康数据

2.2.1、首次扫描(单浮点数100)

在这里插入图片描述

2.2.2、点击打我,再次扫描数值97.11

在这里插入图片描述

2.2.3、修改数据值为5000

在这里插入图片描述

2.2.4、测试正常

在这里插入图片描述

2.3、查找弹药数据

2.3.1、双浮点数100

在这里插入图片描述

2.3.2、点击开火

在这里插入图片描述

2.3.3、修改数据

在这里插入图片描述

2.3.4、测试

在这里插入图片描述

2.4、通关(修改两项数值超过5000)

在这里插入图片描述

步骤 4: 浮点数 (密码=890124)

在前面的教程中我们使用字节的方式进行扫描,但有些游戏使用了"浮点数"来存储数值(这么做是为了给菜鸟制造一些麻烦,让他们没那么容易修改游戏)。
浮点数是带有小数点的数值(如 5.12 或 11321.1)。
正如本关中的健康和弹药,两者都以浮点方法储存数据,不同的是,健康值为单精度浮点数,而弹药值为双精度浮点数。
点击"打我"将减少一些健康值,而点击"开火"则消耗掉 0.5 的弹药。
你得把这两项都修改到 5000 或者更多才能过关。
"精确数值"扫描的方式虽然也可以完成本关的工作,但你应该试试其它更简练的扫描方式。

提示: 扫描双浮点数类型建议禁用 “快速扫描”

### Cheat Engine 7.5 下载与使用说明 #### 下载 Cheat Engine 7.5 Cheat Engine 是一款功能强大的内存编辑工具,主要用于游戏调试和学习目的。可以通过以下链接下载 Cheat Engine 7.5 版本: - **项目地址**: [https://gitcode.com/open-source-toolkit/124ab](https://gitcode.com/open-source-toolkit/124ab)[^1] 访问上述链接后,可以找到 Cheat Engine 的安装包以及相关文档资源。 --- #### 使用 Cheat Engine 7.5 基础教程 ##### STEP1-2: 初步了解 Cheat Engine 工具 为了更好地掌握 Cheat Engine 的基本操作,建议按照官方提供的训练教程逐步完成练习。以下是入门阶段的关键知识点: - 打开目标程序并加载到 Cheat Engine 中。 - 学习如何通过数值变化(增加、减少或其他条件)筛选符合条件的内存地址[^2]。 ##### STEP3: 进一步实践与技巧提升 在第二关中,提供了两种不同的解决方案来定位特定的游戏变量: ###### 方法一:基于未知初始值的搜索 1. 开始时无需知道确切数值,仅需设定范围(如 0 至 500)作为初步过滤条件[^3]。 2. 当触发游戏中某个事件(例如点击按钮使生命值下降),记录具体的变化量(比如减少了 2 或者其他固定差额)。 3. 继续重复扫描动作直到缩小候选列表至唯一可能的结果位置。 4. 修改查找到的目标地址对应的值验证其效果是否符合预期。 ###### 方法二:限定区间内的直接匹配 另一种更高效的方式是从已知约束出发快速锁定潜在对象: 1. 输入明确边界参数启动首次检索过程; 2. 结合动态行为观察进一步精确定位有效项; 3. 对最终确认无误的数据单元实施调整测试以确保准确性。 以上两套流程均能引导使用者熟练运用 CE 完成指定任务需求。 --- ```python # 示例 Python 脚本用于自动化部分 Cheat Engine 功能演示 import ctypes def write_memory(address, value): """向指定内存地址写入新值""" process_handle = ctypes.windll.kernel32.OpenProcess(0x1F0FFF, False, target_pid) buffer = ctypes.c_long(value) bytes_written = ctypes.c_size_t() success = ctypes.windll.kernel32.WriteProcessMemory( process_handle, address, ctypes.byref(buffer), ctypes.sizeof(buffer), ctypes.byref(bytes_written)) if not success: raise Exception("Failed to write memory.") ``` > 注:实际应用前请确保遵循当地法律法规及相关授权许可规定! --- #### 总结 综上所述,无论是初学者还是有一定经验的技术人员都可以借助 Cheat Engine 实现复杂场景下的逆向分析工作。只要严格按照指导手册中的提示一步步推进即可顺利完成各项挑战。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

80后大叔爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值