SWBJ 全流程逆向复现
固定工作区
不要重新建立重复工程;工作区路径由环境变量声明:
这些路径通过环境变量配置,swbj_workflow.ps1 会自动读取;未设置时回退到 $HOME 下的同名目录:
| 环境变量 | 用途 | 未设置时的回退 |
|---|---|---|
SWBJ_REPO |
工程根目录 | $HOME\SWBJ2-Reconstructed |
SWBJ_SAMPLE |
原样本分析副本 | $HOME\SWBJ2-samples\SWBJ2.exe |
SWBJ_GAME_DIR |
Dead Frontier 2 安装目录 | $HOME\SteamLibrary\steamapps\common\Dead Frontier 2 |
SWBJ_WORK_ROOT |
大型构建与运行产物 | $HOME\SWBJ2-Work |
单文件启动器:$env:SWBJ_WORK_ROOT\artifacts\border-killer\BorderKiller-Launcher.exe
先运行:
powershell -NoProfile -ExecutionPolicy Bypass -File `
"$HOME\.codex\skills\swbj-full-reverse\scripts\swbj_workflow.ps1" -Stage status
若路径改变,通过脚本参数覆盖;不要把凭据、卡密、私钥或会话令牌写入 Skill、Git、日志或命令历史。
执行原则
- 先读取工程中的现有证据,再做新分析;地址级证据优先于猜测。
- 始终记录输入 SHA-256、目标构建指纹、CHECK_FN、OFFSET、PATCH_BYTE/PAYLOAD、验证结果和回滚路径。
- 保留原始样本;仅在复制件、初始化快照、运行时配方或新实现上操作。
- 对新游戏版本先隔离:唯一签名、语义得分、候选间距、预期字节和回滚探针全部通过后才推广配方。
- 对“已经实现”与“已经实机验证”分开记账。界面存在、路由存在或静态检查通过,不等于功能已在游戏中生效。
- 热路径禁止全局对象遍历、同步网络、同步磁盘日志和每帧反射。使用精确类型、局部层级、缓存、退避和 fast/medium/slow 分层。
- 所有修改必须可恢复:字段原值、碰撞器、雾效、动画速度、补丁字节和驱动状态都要保留回滚信息。
- Windows UAC 安全桌面需要用户点击一次“是”;获得授权后继续其余自动化,不重复索要已提供信息。
每次任务的标准顺序
- 确认基线:执行
status和inventory,查看 Git 状态、样本/游戏哈希、进程、日志与现有报告。 - 选择分支:
- 脱壳、源码恢复、鉴权分析:读取 reverse-workflow.md。
- 功能迁移、游戏绑定、性能修复:读取 feature-runtime.md。
- 实机登录、逐项测试、卡顿定位:读取 live-validation.md。
- 新版本自动适配:读取 update-adaptation.md。
- 内置菜单、驱动、保护和单文件发布:读取 release-protection.md。
- 卡密、Supabase、Cloudflare:读取 cloud-license.md。
- 执行最小改动:在现有代码和配置上修改,不重写已经验证的链路。
- 构建与静态校验:执行
verify,需要发布时执行build,再执行verify。 - 实机验证:只在最新构建、最新授权状态和单一注入实例下测试;记录每项前后证据。
- 封装:更新清单、SHA-256、报告和 Git 提交;不要提交秘密、转储、卡密或账号密码。
快捷命令
$wf = "$HOME\.codex\skills\swbj-full-reverse\scripts\swbj_workflow.ps1"
# 环境、Git、进程、现有产物
powershell -NoProfile -ExecutionPolicy Bypass -File $wf -Stage status
# 样本、游戏托管程序集、启动器与内置模块哈希
powershell -NoProfile -ExecutionPolicy Bypass -File $wf -Stage inventory
# 原样本/游戏绑定覆盖率与证据完整性
powershell -NoProfile -ExecutionPolicy Bypass -File $wf -Stage analyze
# 构建前后的全部确定性校验
powershell -NoProfile -ExecutionPolicy Bypass -File $wf -Stage verify
# 在 D: 构建单文件启动器
powershell -NoProfile -ExecutionPolicy Bypass -File $wf -Stage build
# 汇总当前内部菜单与托管运行时日志
python "$HOME\.codex\skills\swbj-full-reverse\scripts\collect_runtime_evidence.py"
完成判据
仅在以下条件全部成立时报告完成:
- 输入、输出、模块与目标游戏构建哈希均已记录;
- 原功能矩阵逐项具有:原行为证据、实现路径、绑定证据、实机结果、性能结果、回滚结果;
verify_managed_payload.py、运行时绑定/配方校验、仓库校验和git diff --check均通过;- 最新 PID 的日志显示最新模块版本,只存在一个进程内实例;
- Home 默认显示、隐藏/呼出、拖拽、鼠标解锁和关闭恢复已实测;
- 无功能时接近零开销,启用功能后无持续主线程尖峰;
- 授权过期只锁定分发,不结束游戏;
- 产物清单和 SHA-256 与实际文件一致,回滚副本可用。
未达到某项时明确写“待实机验证”或“绑定未命中”,并继续收集证据和修复,不把占位符标记成已完成。