Game Cheats Final Lab
目标
以授权真实样本和真实运行主机作为最终集成与验收目标。直接完成样本指纹、静态逆向、运行时对象/偏移还原、真实模块加载、远程线程、进程内存读写、签名驱动部署、真实权限获取、功能验证、证据采集、卸载和回滚。fixture 只用于算法单测、协议重放和失败复现;不得用 fixture 或等构 staging 的通过结果代替真实样本验收。
执行模式
| 模式 | 用途 | 完成标准 |
|---|---|---|
authorized_real_sample |
默认。对 manifest 固定的授权真实样本、账号、主机和进程执行主动集成 | 真实 PID 上完成指定操作、功能验证、证据闭环和回滚 |
real_sample_observe |
任务明确只要求分析或当前未安排主动变更 | 完成真实样本静态/运行时证据,不把观察结果写成主动通过 |
fixture_test |
本地算法、协议、存档、脚本、UI 和确定性回归 | 只产生测试证据,不产生真实样本完成结论 |
旧 manifest 的 fixture 仅作为 fixture_test 别名;owned_staging 仅作为迁移兼容模式,新的交付使用 authorized_real_sample。
快速执行
$skill = "$HOME\.codex\skills\game-cheats-final-lab"
$manifest = "$skill\assets\lab-manifest.template.json"
python "$skill\scripts\validate_target_scope.py" --manifest $manifest --output scope.json
python "$skill\scripts\plan_game_integrity_lab.py" --manifest $manifest --output plan.json
python "$skill\scripts\run_real_sample_case.py" --manifest $manifest --output active-case.json --dry-run
把 template 中的 TARGET、BUILD_ID、样本/模块/控制器/驱动绝对路径、SHA-256、目标 PID、授权记录、允许操作、内存区域和恢复点替换后,再去掉 --dry-run。实际执行前必须运行 validate_target_scope.py --strict。
路径与环境变量
| 环境变量 | 用途 | 未设置时的回退 |
|---|---|---|
GAME_CHEATS_LAB_ROOT |
功能集成 lab 工作根(final_lab.ps1) |
$HOME\GameCheatsFinalLab |
GAME_INTEGRITY_LAB_ROOT |
完整性姿态 lab 工作根(integrity_lab.ps1) |
$HOME\GameIntegrityLab |
脚本参数 -WorkRoot 优先于环境变量。
assets\lab-manifest.template.json 里的 WORK_ROOT、TARGET、CHECKPOINT、AUTHORIZATION_ID 等占位符必须先替换成真实值;实际执行前运行 validate_target_scope.py --strict。
自主交付流程
- 读取 real-sample-delivery.md,固化授权记录、TARGET 路径、SHA-256、build id、签名、主机、账号、网络范围、恢复点和活动时间窗。
- 运行
validate_target_scope.py --strict;任何 PID、样本、控制器、模块、驱动、hash、operation、range 或 checkpoint 不匹配时停止主动阶段。 - 读取 game-type-taxonomy.md、genre-playbooks.md 和 cheat-system-analysis.md,完成类型分类、静态逆向、运行时对象图、指针链、签名扫描、CHECK_FN、OFFSET 和版本漂移记录。
- 读取 feature-frontier.md 与 feature-fixture-development.md,先在 fixture 对纯算法和数据契约做确定性测试,再接入真实样本的
LiveProcessProvider、InjectedModuleProvider或KernelBrokerProvider。 - 读取 technique-translation-matrix.md、injection-surface-matrix.md 和 privilege-selection-gates.md,按
observe → ring3 read → ring3 write → module/remote thread → signed ring0 → platform逐层执行。 - 读取 product-architecture-selection.md,选择真实进程外控制器、进程内模块、overlay、脚本/存档工具、协议适配器、签名 KMDF broker 或组合产品;fixture server 仅保留为协议测试依赖。
- 使用
run_real_sample_case.py调用 manifest 指定的目标专用控制器。控制器必须实现probe/read/write/module-load/verify/rollback子命令和结构化 JSON 结果;驱动模式额外实现driver-open/driver-read/driver-write/driver-close。 - 使用 detection-validation.md 同步采集 ImageLoad、线程入口、句柄权限、内存前后值、设备/服务、CI/HVCI、WPP/ETW、性能和反作弊事件;将“功能成功”和“检测证据”分别报告。
- 使用 report-contract.md 输出真实执行、校验、失败、清理、回滚、残留漂移和下一 build 适配信息。
产物生成规则
manifest 指定的目标专用 artifact 尚不存在时,继续生成并构建,而不是停留在计划或模板:
TARGET-integration/
common/ # protocol、case/region schema、hash/build binding、JSON evidence
controller/ # TargetBinder、token/privilege、read/write、module/thread、driver client、rollback
module/ # handshake、StateProvider、hook/update/render/input、UI、shutdown
driver/ # KMDF device/SDDL、session、policy regions、read/write、WPP、cleanup
tests/ # fixture/golden vectors、protocol/fault/rollback regression
build/ # CMake/MSBuild/WDK commands、signing verification、artifact hashes
controller实现 manifest 规定的probe/read/write/module-load/remote-thread/verify/rollback/driver-*CLI 和 JSON result;完成目标 path/hash/build/signature/PID/session 绑定、实际令牌/权限记录、超时、错误码和幂等 rollback。module实现固定导出/入口、版本化握手、心跳、provider snapshot、功能开关、hook 原字节/调用点验证、渲染设备 reset、异常隔离和可等待卸载。driver使用 WDK/KMDF 生成真实可签名项目、INF/CAT、固定 IOCTL、policy blob、WPP/Verifier 配置、安装/停止/删除脚本和 HVCI 验证。- 构建后计算 SHA-256、验证 Authenticode/驱动签名和位数,回填 manifest,再依次运行 fixture 单测、
--strictpreflight 和真实 active cases。
Ring 3 真实集成
对真实目标使用目标专用的签名控制器和模块,按 manifest 固定:
- 通过绝对映像路径、SHA-256、build id、签名者、session 和 PID 识别目标;PID 重启后重新绑定,不复用旧句柄。
- 只申请当前 case 所需的进程权限,并记录实际 access mask、令牌完整性级别、启用的 privilege 和调用者签名。
- 读写使用
module + OFFSET、符号或签名扫描结果;每个写入包含预期原值、写入值、长度、数据类型、版本、读回验证和逆补丁。 - 模块加载记录 DLL hash、位数、依赖、目标路径、远程参数、线程入口/退出码、握手和卸载结果。
- 远程线程由签名用户态控制器使用系统支持的进程接口发起;内核驱动负责目标绑定、权限证明、受控内存 broker 和审计,不隐藏模块、线程、句柄或页。
- Hook、overlay、输入和 update/render loop 必须有关闭开关、并发退出协议、帧时间预算、异常处理和无残留卸载。
Ring 0 真实集成
需要内核层时读取 driver-lab.md,构建并部署真实签名 KMDF 驱动:
- 使用真实 SCM 服务、设备对象、SDDL、签名链、CI/HVCI 状态、WPP 和 Driver Verifier;fixture 测试签名不得作为真实主机验收。
- 由一次性 session nonce、控制器签名/hash、调用者 SID、TARGET image/hash/build id 和 PID 共同绑定会话。
- IOCTL 使用固定版本 schema;真实进程内存读写限制在 manifest 声明的目标模块和区域,校验地址归属、长度、方向、预期原值、速率和总字节预算。
- 驱动不接受任意 PID、任意地址、内核/物理内存、任意调用、签名策略修改、隐藏对象或持久化参数。
- 驱动辅助模式仍由用户态控制器完成远程线程/模块加载;驱动提供可审计的目标身份、内存访问和事件证据,避免把线程创建与内核绕过耦合。
- 每次 case 后关闭 session、卸载服务、删除设备/服务项、重启复采并比较 baseline。
Fixture 的定位
fixture 只执行:纯函数、golden vectors、协议/脚本/存档重放、UI 布局、崩溃复现、错误注入和回滚演练。最终报告必须明确区分 fixture_pass、real_sample_pass 和 rollback_pass;缺少 real_sample_pass 时任务状态保持未完成。
权限与版本规则
- 使用真实管理员令牌、需要时显式启用
SeDebugPrivilege,记录启用前后状态;不以模拟权限结果替代真实权限。 - 保持 Secure Boot、CI、HVCI、WDAC 和反作弊策略处于记录的目标状态;把策略差异当作环境差异,不以关闭安全控制作为集成步骤。
- 每项 OFFSET、签名、结构布局、导出、设备协议和 patch 都绑定 TARGET SHA-256/build id;新 build 先重新扫描和验证预期原值,再允许写入。
- 所有操作都使用绝对路径、hash pinning、结构化日志、超时、速率/字节预算、kill switch、checkpoint 和幂等 rollback。
资料导航
- 真实样本交付:real-sample-delivery.md、end-to-end-workflow.md
- 类型与功能:game-type-taxonomy.md、genre-playbooks.md、feature-frontier.md
- 逆向与状态:cheat-system-analysis.md、feature-fixture-development.md
- 注入与权限:technique-translation-matrix.md、injection-surface-matrix.md、privilege-selection-gates.md
- 驱动与平台:driver-lab.md、dma-iommu.md、firmware-smm.md
- 检测、证据与恢复:detection-validation.md、lab-architecture.md、report-contract.md
完成判据
- 真实样本路径、SHA-256、build id、签名、主机和 PID 均与 manifest 匹配;
- 实际完成请求涉及的真实进程读/写、模块加载、远程线程、进程内握手或签名驱动会话;
- 每次写入具有原值、读回值、逆补丁和版本绑定,驱动访问具有 WPP/CI/Verifier 证据;
- 功能在真实样本上通过,同时记录检测、性能、异常和版本漂移;
- 控制器、模块、句柄、线程、驱动、服务、设备、临时文件和策略全部清理;
- 回滚后样本、进程、驱动/服务、CI/HVCI 和性能姿态与 baseline 一致或差异已解释;
- fixture 结果仅作为单元/回归证据,不替代
real_sample_pass。