Rev Lab 1:Rev 基础 ¶
本节 Lab 包含 3 个 Task,Lab 包含基础部分和拓展部分,总分最高溢出到 115 分
Task 1:Windows 平台游戏修改 ¶
本 Task 以经典 Windows 平台游戏《植物大战僵尸》为例,课上简单演示了如何使用 Cheat Engine 工具分析游戏中阳光数值的“多级指针”,并介绍了如何使用 C++ 编写游戏修改工具
你需要使用 1.1.0.1056 2012(.06) 中文年度版的植物大战僵尸进行拓展部分的任务,建议基础部分也使用该版本的游戏
基础部分 (46%) ¶
阳光数值查找 (18%) ¶
你需要使用 Cheat Engine 或其他工具对游戏进行分析,复现课上演示的阳光数值查找
- 分析阳光数值内存地址的“多级指针”,报告中需要给出分析过程的详细说明和截图 (12%)
- 分析种植植物时扣除阳光的代码地址和逻辑,报告中需要给出分析过程的详细说明和截图 (6%)
植物种植冷却查找 (28%) ¶
你需要使用 Cheat Engine 或其他工具对游戏进行分析,进行植物种植冷却的查找
- 分析植物种植冷却内存地址的“多级指针”,报告中需要给出分析过程的详细说明和截图 (10%)
- 分析植物种植冷却相关的代码地址和逻辑,并通过类 C++ 代码简要说明植物卡槽结构体以及其中植物种植冷却相关的元素 (18%)
下面是一些 Cheat Engine 工具的使用提示:
- Cheat Engine 能够通过修改 Scan Type 来实现“变化数值”的搜索
- Cheat Engine 中的 Memory Viewer 不仅可以看代码的反汇编结果,也可以和常用动态调试程序类似,查看一块内存区域的具体数值
拓展部分 (52%) ¶
你需要编写实时的游戏修改工具,实现下面的功能,需要在报告中说明代码的编写逻辑和简要的技术路线
- 复现课上“阳光数值读取”
、 “阳光数值修改”、 “植物种植免费以及恢复阳光扣除”的功能 (8%) - 编写“植物种植免冷却以及恢复种植冷却”的功能 (12%)
- 其他自己感兴趣的游戏修改功能 (32%)
游戏修改工具推荐使用 C++ 进行编写,也可以使用其他语言,可以通过 LLM 辅助编写修改工具,也可以学习网络开源的修改工具代码,但不能直接照抄,查重出现大面积类似会扣分
Task 2:wasm 逆向 ¶
基础部分 (34%) ¶
课上已经通过 wysi-revenge 和 wasm rpg 1 这两道题目演示了 wasm 逆向以及动态调试的方法,请完成这两道题
- 完成 wysi-revenge,在报告中详细分析自己的逆向过程,说明程序的具体加密逻辑,并分析应该如何进行解密,并解出 flag (10%)
- 完成 wasm rpg 1,在报告中详细分析自己的逆向过程,说明程序的具体加密逻辑,并分析应该如何进行解密,并解出 flag (24%)
- 推荐使用 LLM 辅助解题,但需要以截图等方式给出自己与 LLM 的交互过程,且需要在自己理解的基础上编写报告
拓展部分 (28%) ¶
完成 wasm_online 这道题
- 在报告中详细分析自己的逆向过程,说明程序的具体逻辑 (20%)
- 完成题目,解出 flag (8%)
- 推荐使用 LLM 辅助解题,但需要以截图等方式给出自己与 LLM 的交互过程,且需要在自己理解的基础上编写报告
Task 3:其他游戏逆向 (50%) ¶
- 尝试课上没有演示过的,自己喜欢的游戏进行逆向分析或者游戏工具开发,可以描述逆向的原因,技术流程和结果等等
- 本 Task 不要求完全逆向整个游戏,只要你肯尝试,不论有多少进展,都请写在你的实验报告中,本部分会视尝试的深度或者难度或者工作量进行给分,但只要有尝试,就能获取相应的分数
- 该 Task 主要用来激发同学们自行探索的积极性和对逆向工程的兴趣,希望大家能够积极尝试❤