{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/agluszak/imperialism-decomp/blob/a46830297f984167c4e0bfb9633030b284476e19/decomp/README.md"
  ],
  "category": "reconstruction-cases",
  "class": "game",
  "description_en": "Imperialism reconstructs the 1997 Windows game's executable as ABI and behavior faithful C++ using Ghidra evidence, the original MSVC 5.0 toolchain and reccmp comparisons. A separate Rust implementation imports retail files and uses process-isolated differential tests against named behavioral captures.",
  "description_zh": "Imperialism 使用 Ghidra 证据、原版 MSVC 5.0 工具链及 reccmp 对照，以 C++ 重建 1997 年 Windows 游戏的可执行程序和行为。另有独立的 Rust 实现读取原版文件，并通过进程隔离的差异测试比较行为记录。",
  "entry_url": "https://awesomerea.org/resources/imperialism-decomp-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/imperialism-decomp-case/",
  "evidence_url": "https://github.com/agluszak/imperialism-decomp/blob/a46830297f984167c4e0bfb9633030b284476e19/README.md",
  "group": "cases",
  "id": "imperialism-decomp-case",
  "json_url": "https://awesomerea.org/resources/imperialism-decomp-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/imperialism-decomp-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/imperialism-decomp-case/index.md",
  "name": "Imperialism: reconstructing the 1997 game in C++ and Rust",
  "name_zh": "Imperialism：以 C++ 和 Rust 重建 1997 年游戏",
  "reconstruction_method": "matching-decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "Supply a legally obtained Imperialism.exe.",
    "The C++ workflow requires Git LFS, just, uv, Docker, Wine/GDB, Java 25 and the pinned Ghidra fork."
  ],
  "requirements_zh": [
    "需提供合法取得的 Imperialism.exe。",
    "C++ 工作流程需要 Git LFS、just、uv、Docker、Wine/GDB、Java 25 及指定的 Ghidra 分支。"
  ],
  "targets": [
    "binary",
    "game"
  ],
  "url": "https://github.com/agluszak/imperialism-decomp",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
