Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/velteyn/unbattletech
静态分析逆向工程调试器二进制分析学习与教育固件分析
GitHubvelteyn/unbattletech

UnBattletech

BattleTech:新月之鹰的起源 逆向工程

查看仓库
811个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

UnBattletech — 逆向工程 BattleTech: The Crescent Hawk's Inception (1988)

RE Status Godot Rebuild

对 Infocom 于 1988 年推出的 MS-DOS 游戏 BattleTech: The Crescent Hawk's Inception 进行逆向工程分析,并使用 Godot 4 + C# 重建。

仓库结构

root@kitploit:~
├── docs/               # RE documentation & findings
│   ├── CONTEXT.md      # Master context (1050+ lines)
│   ├── TECHNICAL_ANALYSIS.md  # Comprehensive technical analysis (3211 lines)
│   ├── MEMORY_MAP.md   # Full memory map (603 lines)
│   ├── ADDRESS_REFERENCE.md   # Address reference (1035 lines)
│   ├── BLD_BYTECODE.md # BLD bytecode specification (342 lines)
│   ├── WORLD_MAP_FINDINGS.md  # World map analysis (321 lines)
│   ├── REBUILD_PLAN.md # Godot rebuild plan
│   ├── REBUILD_ROADMAP.md     # Rebuild roadmap
│   └── STORY_TEXT.txt  # Extracted full story text
│
├── tools/              # Python analysis tools
│   ├── bld/            # BLD script tools (decoder, converter, viewer)
│   ├── assets/         # Asset extraction & rendering tools
│   └── analysis/       # RE analysis tools
│
├── reko/               # Reko decompiler output
│   ├── UNBTECH.exe.c   # Full C decompilation (2MB)
│   ├── UNBTECH.exe.h   # Header with struct definitions
│   ├── UNBTECH_all.asm # Combined disassembly (60K lines)
│   └── segments/       # Per-segment .c/.asm/.dis files
│
├── asm/                # Assembly analysis
│   └── discoveries.asm # Manual analysis notes
│
├── json/               # BLD → JSON conversions (26 files)
│
├── spice86/            # Spice86 emulation outputs
│
├── BattleTechCHI/      # Godot 4 + C# rebuild
│
├── original/           # Original game assets (local only, not uploaded)
│   ├── bld/  cmp/  icn/  mtp/  anm/  saves/  exe/
│
├── extracted_assets/   # Rendered PPM/PNG from game assets
└── Assets/             # Converted sprite/tile sheets

关键逆向工程成果

  • BLD 字节码已完整逆向:26 个操作码、替换密码、4 层解释器
  • 世界地图已解码:64×64 瓦片网格、93 种瓦片类型、战争迷雾系统
  • 战斗系统已文档化:2D6 命中判定、视线(LoS)射线投射、AI 目标选择、热量/弹药
  • 剧情已完整提取:全部 26 个 BLD 脚本均已解码并带叙事标记
  • 内存映射完整:已映射所有段中的 100 多个地址

Godot 重建进度

重建已进入第 6 阶段(ANM 集成 + 战斗 ANM)。BattleTechCHI/Scripts/ 下已有 45+ 个脚本,约 8,000 行 C# 代码。

  • ✅ 第 0–1 阶段:核心引擎、数据模型、资源加载器、游戏循环、部分存档/读档
  • ✅ 第 2 阶段:瓦片渲染、世界地图视口、局部地图、LocationMapper、战争迷雾
  • ✅ 第 3 阶段:BLD 解释器(26 个操作码)、密码解码器、47 分支调度器(全部为真实实现)、对话、ShopScreen
  • ✅ 第 4 阶段:战斗——初始化、回合顺序、移动、视线(LoS)、命中判定(2D6)、伤害、AI、热量/弹药、迷雾、HUD、遭遇战
  • ✅ 第 5 阶段:AnmPlayer + ViewportManager + BldAnmMap、运行时 ANM 解压
  • ✅ 第 6 阶段:战斗机甲面板 ANM(MechPortrait)、地图光标 ANM、StorySlots 16→8 修复、模拟器 A: 驱动器修复
  • ⬜ 第 7 阶段:端到端试玩测试、打磨(VFX、BTSTATS、音效、w4FBC 重构、TileMapLayer 迁移)

模拟器与运行时内省

Spice86 模拟器配备 19 个针对 BattleTech 的 MCP 工具,用于运行时游戏状态内省:

  • 读写游戏状态(状态数组、剧情槽位、单位槽位、光标、货币、标志位)
  • 读取战斗网格、单位位置、战争迷雾
  • 注入键盘输入(通过菜单对游戏进行脚本化操作)
  • 读取 CPU 寄存器和内存
root@kitploit:~
# Start emulator with MCP server on port 8081
dotnet exec bin/Debug/net10.0/UNBATTLETECH.dll \
  --Exe "/path/to/BTECH.EXE" \
  --CDrive "/path/to/game/" \
  --HeadlessMode Minimal --McpHttpPort 8081 --NoGui

# Read game state
curl -s -X POST http://localhost:8081/mcp/ \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"bt_get_state","arguments":{}}}'

工具与脚本

root@kitploit:~
# Convert BLD → JSON and back
python3 tools/bld/bld_json_converter.py to-json original/bld/

# Extract full story text
python3 tools/bld/extract_story.py

# Decode all BLD files with opcode analysis
python3 tools/bld/decode_bld.py

# ASCII terminal viewer for maps
python3 tools/bld/ascii_viewer.py

# Render CMP assets to PPM
python3 tools/assets/extract_assets.py

# Build C# rebuild
cd BattleTechCHI && dotnet build

# Build emulator
dotnet build UNBATTLETECH.csproj

免责声明

本仓库不包含任何原始游戏资源(BLD、CMP、EXE 等),仅包含逆向工程分析、文档以及净室重建所需的原创源代码。原始游戏资源仅存放在 original/ 中,仅供本地开发使用(已加入 gitignore)。

下载工具