wonst719/u5d
GitHub: wonst719/u5d
经典游戏《Ultima V: Warriors of Destiny》的反编译项目,通过汇编级语义匹配重建C源码,旨在现代平台复刻原作功能。
Stars: 1 | Forks: 0
# u5d - Ultima V 反编译项目
## 简介
这是一个持续进行中的《Ultima V: Warriors of Destiny》反编译项目。
受 [u4-decompiled](https://github.com/ergonomy-joe/u4-decompiled) 启发,我启动了这个项目,作为一项个人挑战,以便更好地理解原游戏及其代码库。
## 目标
- 创建一个功能等同的原游戏版本,使其能在现代平台上运行。
- 尽可能多地匹配原始代码(MS-DOS v1.16 版本)。
由于尚未找到原始链接器(未知版本的 PLINK86),目前无法实现完美的二进制匹配。因此,该项目重点关注汇编级别的语义匹配。
在必要时,也会参考 FM-TOWNS 等其他平台的反汇编代码。
## 当前状态
### 匹配进度
- `ULTIMA.EXE`:约 55% 匹配
- `*.OVL`:约 50% 匹配
### 可玩性
游戏可以启动,并使用原始数据文件进行部分游玩。但是,仍然存在许多大大小小的 bug,游戏还无法从头到尾完整通关。
## 构建
### Windows 目标
使用 Visual Studio 2026 打开 `u5win/u5win.slnx` 并构建解决方案。
### MS-DOS 目标 (DJGPP)
在安装了 DJGPP 的机器上运行 `make`。
根据具体环境,您可能需要调整 `Makefile` 中的 `CROSS_CC_PREFIX` 值。
### MS-DOS 目标 (原始工具链)
在安装了 Microsoft C 5.1 的机器或虚拟机上运行 `src\build.bat`。
编译器安装路径为 `C:\MSC51`。
注意:目前无法进行可执行文件的链接。此目标仅用于反汇编匹配。
标签:DJGPP, DNS解析, MS-DOS, Ultima V, URL提取, Visual Studio, 二进制分析, 云安全运维, 代码重构, 创世纪5, 反编译, 复古游戏, 客户端加密, 开源项目, 快速连接, 极客, 汇编语言, 游戏开发, 游戏引擎重构, 游戏逆向工程, 源代码复原, 经典RPG, 语义匹配, 跨平台移植