CE-植物大战僵尸-关于阳光的修改

本文介绍了如何使用内存扫描工具修改游戏中的阳光值,实现无限阳光效果。通过首次扫描初始值,修改后再扫描变化值,逐步定位内存地址。同时,通过设置断点和反汇编程序,实现了自动收集阳光的功能,无需手动操作。此外,还涉及到了内存基址的查找和指针偏移的计算方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、查找阳光值内存地址并修改方法一

1、输入阳光初始值50,首次扫描,出现很多结果

 2、返回游戏,修改阳光值,输入修改后的阳光值100,再次扫描。

 3、扫描得到一个结果,双击添加地址,并修改值,返回游戏发现阳光值已修改。

方法二

首次扫描位置的初始值,返回游戏改变阳光值,再次扫描增加/减少的数值

多次扫描,直到扫描出太阳值对应的内存地址,双击更改太阳值

方法三

首次扫描值小于 8000

 再次扫描精确值,直到出现阳光内存地址

 找到后修改值

二、寻找阳光值的内存基址

1、右击找到的内存地址,找到是什么改写了这个地址,选择一个点击详细信息,复制给出的数值

2、选择新的扫描,勾选16进制,首次搜索复制的地址。

 

 3、找到一个结果,添加,右击,什么访问了该地址,点击详细信息,复制给出的数值

 4、选择新的扫描,勾选16进制,首次搜索复制的地址。可以看到绿色的基址,任选一个地址添加到下方。

 5、点击“手动添加地址”,选中“指针”,并点击两次“添加偏移”,输入第二步中两个指针的偏移量,点击“确定”

 

 6、修改指针的数值并锁定,可以看到打开的每一关阳光值都不再发生改变,数值都是修改后的99999

无限落阳光

落9.8.7.6.5.4.3.2.1落9.8.7.6.5.4.3.2.1

当太阳未落下时,首次扫描位置的初始值,再次扫描减少的数值,当太阳落下时扫描增加的数值

 

 扫描结果如下:

 将该地址锁定,并修改值为1

 

自动收集阳光

找到阳光内存地址后,右击是什么改写了地址,显示反汇编程序,设置断点,回到游戏收集阳光,跳出

 

 堆栈跟踪,点00000那个,上去,工具,注入代码,加入,将jne改为jmp,执行。删除断点j就可以自动收集阳光了

### 使用 Cheat Engine 修改植物大战僵尸》游戏教程 #### 工具准备 为了能够顺利地使用 Cheat Engine (CE) 对《植物大战僵尸》进行修改,需要准备好 CE 软件本身。可以从官方网站下载并安装最新版本的 Cheat Engine[^2]。 #### 游戏启动与初始化设置 打开《植物大战僵尸》,进入游戏后保持其运行状态。随后启动 Cheat Engine 并通过其中的游戏列表找到正在运行中的《植物大战僵尸》进程,点击“附加到进程”按钮完成连接操作[^1]。 #### 初次数值扫描 在游戏内选定一个想要追踪或更改的具体数值作为目标对象,比如阳光数量、金钱数额或是某类资源的数量等易于观察变化的数据项。接着,在 Cheat Engine 中输入该初始值,并选择对应数据类型(通常先尝试DWORD),执行第一次扫描。由于该游戏较为复杂,初次扫描可能会返回较多匹配地址,如文中提到的2684个结果。 #### 缩小范围筛选有效内存地址 继续在游戏中改变所选项目的实际数值(增加或减少),再次回到 Cheat Engine 输入新的数值做进一步过滤。重复此过程数次直到剩余少量可能的有效地址为止。期间可以适当调整数据类型的选项来提高准确性。 #### 验证最终候选地址 对于最后留下的几个疑似正确的目标地址逐一测试验证,方法是在游戏中对该变量施加影响后再查看这些地址上的数值是否有相应变动。确认无误之后就可以将其保存下来以便后续利用了。 #### 创建表格应用修改功能 当找到了确切的记忆位置后,可以在 Cheat Engine 内创建一个新的表单项目,设定好名称以及期望赋予的新值,从而轻松实现一键式的参数篡改效果。这样不仅简化了操作流程而且提高了效率。 ```python # Python伪代码示意如何自动化上述部分步骤(仅作概念展示) def find_address(initial_value, new_values_list): ce = initialize_cheat_engine() first_scan_results = ce.scan_memory_for_value(initial_value) filtered_addresses = first_scan_results for value in new_values_list: filtered_addresses = ce.refine_search(filtered_addresses, value) return verify_and_select_final_address(filtered_addresses) final_address = find_address(sunlight_amount_at_start, [new_sunlight_after_adding_some]) set_new_value(final_address, desired_sunlight_quantity) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Moriia---

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

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

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

打赏作者

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

抵扣说明:

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

余额充值