desintegrathor/VC_Scripter
GitHub: desintegrathor/VC_Scripter
面向《越共》游戏的AI增强型脚本反编译与开发工具链,支持字节码与C源码双向转换及场景文件解析。
Stars: 1 | Forks: 0
# VC Scripter
AI 驱动的《越共》(Vietcong, 2003) 逆向工程与脚本开发环境。
## 这是什么?
这是一个用于处理《越共》 游戏脚本的开发环境。克隆此代码仓库,在其中运行 AI 编程代理,代理会自动连接到 MCP 服务器,从而直接读取和分析游戏文件。
该仓库包含反编译器(`.scr` 字节码 → C 源码)、编译器(C 源码 → `.scr` 字节码)、场景文件解析器(`.sco`)、SDK 头文件以及原始参考脚本。这些工具共同为 AI 代理提供了逆向工程、修改和创建《越共》游戏脚本所需的一切。
## 你可以用它做什么
你只需提供解包后的游戏文件(`.scr` 脚本、`.sco` 场景文件)以及你拥有的任何参考脚本。AI 代理会处理剩下的所有工作 —— 反编译、分析、编写代码和编译。
## 前置条件
- **Python 3**(已在 3.10+ 版本上测试)
- **一个 AI 编程代理** — 推荐使用 [Claude Code](https://claude.ai/code)(通过 `.mcp.json` 自动检测 MCP)。Cursor、Windsurf 和其他支持 MCP 的代理也可以使用。
- **解包后的《越共》游戏文件** — 你需要游戏安装目录中的 `.scr` 和 `.sco` 文件
## 开始使用
```
# 克隆 repo
git clone https://github.com/pocketrice/VC_Scripter.git
cd VC_Scripter
# 安装 Python 依赖
pip install -r requirements.txt
# 在此目录启动你的 AI agent
# Claude Code 示例:
claude
# 然后只需询问:
# "打开 my_game_folder/ 中的 LEVEL.SCR 并反编译"
# "此脚本有哪些函数?"
# "重写 respawn 逻辑以使用这些新的 spawn points"
```
`.mcp.json` 文件已预配置好 —— Claude Code 和其他支持 MCP 的代理将自动启动工具服务器。
## 包含内容
| 目录 | 内容说明 |
|-|-|
| `vcdecomp/` | 反编译器 — 将 `.scr` 字节码转换为可读的 C 源码 |
| `vcdecomp/compiler/` | 原始 SCMP 编译器工具链 (SPP → SCC → SASM),用于将 C 代码编译回 `.scr` |
| `vcdecomp_mcp/` | MCP 服务器,向 AI 代理暴露反编译器工具 |
| `sco_parser/` | `.sco` 场景文件解析器 + 供 AI 代理使用的 MCP 服务器 |
| `SDK/` | 《越共》脚本 SDK — `SC_GLOBAL.H`、`SC_DEF.H`、完整 SDK 文档 |
| `original-resources/` | 示例脚本 (`.c`)、头文件 (`.h`)、包含文件 (`.inc`)、机器人配置 (`.CXX`) |
| `.mcp.json` | 预配置的 MCP 服务器定义(由 Claude Code 自动检测) |
## MCP 工具
两个 MCP 服务器让 AI 代理能够直接访问游戏文件内部结构。完整工具参考请参见 [agents.md](agents.md)。
**vcdecomp-mcp** — 脚本字节码分析:
- 打开 `.scr` 文件并列出函数、全局变量、字符串、外部 API 调用
- 将单个函数反编译为 C 代码
- 查看反汇编、SSA 形式、基本块、调用图
- 重命名变量/函数、覆盖类型、添加注释
- 交叉引用谁调用了什么
**sco-parser** — 场景文件分析:
- 打开 `.sco` 文件并浏览节点层级结构
- 按名称或类型查找生成点、路径点、对象
- 提取 AI 导航图
- 获取实体引用、光照、元数据
- 将节点名称与脚本中的 `SC_NOD_Get()` 调用进行交叉引用
## CLI 使用
```
# 将脚本反编译为 C 源代码
py -3 -m vcdecomp structure script.scr > output.c
# 显示脚本信息(entry point、大小、计数)
py -3 -m vcdecomp info script.scr
# 反汇编为可读的汇编代码
py -3 -m vcdecomp disasm script.scr > output.asm
# 将 C 源代码编译回 .scr bytecode
# 将你的 .c 文件复制到 vcdecomp/compiler/,然后:
py -3 compile_simple.py
# 启动 GUI
py -3 -m vcdecomp gui
```
## 批量反编译
```
# PowerShell
Get-ChildItem *.scr | ForEach-Object {
py -3 -m vcdecomp structure $_.FullName > "$($_.BaseName)_decompiled.c"
}
# Bash
for file in *.scr; do
py -3 -m vcdecomp structure "$file" > "${file%.scr}_decompiled.c"
done
```
## 注意:反编译并非 100% 可靠
反编译器生成的是尽力而为的重构代码。某些内容可能出错或缺失 —— 变量类型不正确、表达式混乱、控制流丢失。**务必对照反汇编代码检查反编译输出。** 反汇编(`scr_disasm` 或 `py -3 -m vcdecomp disasm`)是字节码的忠实呈现,始终是正确的。
你可能还需要使用 `scr_set_type` 覆盖变量类型以获得正确的反编译输出 —— 反编译器的类型推断并不完整,有时会猜测错误。
## 已知限制
- **类型推断**不完整 —— 某些变量仍保留为 `dword`(未知类型),需使用 `scr_set_type` 覆盖
- **宏** 会丢失 —— 预处理器在编译前已将其展开
- **全局变量检测** 基于启发式算法,可能不准确
- **复杂控制流** —— 某些嵌套循环或 switch 语句可能无法完美重构
- **编译器** 需要 Windows(通过 WSL 或原生方式使用原始 Win32 可执行文件)
标签:LLM Agent, MCP协议, Mod工具, Python, Vietcong, 云安全监控, 云资产清单, 人工智能辅助开发, 代码生成, 反编译器, 场景解析, 无后门, 渗透测试工具, 游戏修改, 游戏脚本, 第一人称射击游戏, 编译原理, 自动化编程, 软件开发套件, 逆向工程, 遗留系统, 静态分析