Skip to content

Rev Lab 1:Rev 基础

本节 Lab 包含 3 TaskLab 包含基础部分和拓展部分,总分最高溢出到 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 主要用来激发同学们自行探索的积极性和对逆向工程的兴趣,希望大家能够积极尝试❤