OpenRakis/OpenRakis
GitHub: OpenRakis/OpenRakis
该项目提供了逆向工程和重新实现 Cryo 的《沙丘》游戏引擎所需的工具与资源,旨在通过分析其遗留 DOS 架构来实现游戏的现代化保存与复刻。
Stars: 34 | Forks: 2



# OpenRakis
这是一个旨在逆向 Cryo 的 DUNE 游戏的 WIP(进行中)项目。
## 项目结构
* *bin/floppy* : PC DOS 软盘版本文件(LOGO.HNM, BAGDAD.HSQ, DUNE.EXE, LOGO.EXE, ...)
* *bin/cd* : PC DOS CD 版本文件(DUNE.DAT, DNCDPRG.EXE, DUNE.EXE)
* tools : 来自各种来源的工具集
* [bluegr/scummvm](https://github.com/bluegr/scummvm/tree/dune/engines/dune) : 生成的 ScummVM 引擎(这是多人合作的工作成果)
* asm : 原始的 x86 DOS 汇编代码
bin 文件夹不包含在此仓库中,因为它是受版权保护的材料。
# 工具
[IDA Freeware](https://www.scummvm.org/news/20180331/)
[Ghidra](https://github.com/NationalSecurityAgency/ghidra)
[UNLZEXE](https://keenwiki.shikadi.net/wiki/UNLZEXE) (用于解包 LOGO.EXE,如果它被压缩过的话)
[支持 AUTOEXEC 的 DOSBox Debugger](https://www.vogons.org/viewtopic.php?p=860536#p860536)
[Chani: Simulfow Debugger](https://github.com/madmoose/chani)
[Spice86: Reverse Engineering Emulator](https://github.com/OpenRakis/Spice86)
[Ghidra code generator](https://github.com/OpenRakis/Spice86/tree/master/ghidraCodeGenerator)
[Cryogenic: 逐步用 C# 代码覆盖的 Dune ASM 代码](https://github.com/OpenRakis/Cryogenic)
# 其他有趣工具
[dosdebug](https://github.com/johndoe31415/dosdebug)
[CiCParser2021](https://github.com/gabonator/Projects/tree/master/XenonResurrection/Parser/CicParser2021)
[semblance](https://github.com/zfigura/semblance)
[MASM2C](https://github.com/xor2003/masm2c)
[MASM/TASM](https://github.com/xsro/masm-tasm) ([VSCode marketplace](https://marketplace.visualstudio.com/items?itemName=xsro.masm-tasm))
# 现有成果
### 引擎
[madmoose/dune](https://github.com/madmoose/dune) (使用 SCUMMVM,并且可以解码视频)
[madmoose/dune-disassembly](https://github.com/madmoose/dune-disassembly): 针对 PC CD DOS 版本的逆向工程工作。
[scummvm/cryo](https://github.com/scummvm/scummvm/tree/master/engines/cryo) (针对 Lost Eden,这是 Cryo 出品的一款非常相似的游戏)
[scummvm-cryo](https://github.com/elyosh/scummvm-cryo) ([Scummvm Wiki 页面](https://wiki.scummvm.org/index.php?title=Dune))
[DUNE revival project](https://sourceforge.net/p/dunerevival/code/HEAD/tree/) ([GitHub 副本](https://github.com/sonicpp/dunerevival-code))(也使用 [SCUMMVM](https://www.scummvm.org/))
### 资源
[存档编辑器和其他资源](https://sites.google.com/site/duneeditor/home)
[Dune "HERAD" Ad Lib Music Hacking 线程](https://www.vogons.org/viewtopic.php?t=49813)
[将法语 Mega CD 配音移植到 PC CD DOS 版本](https://www.abandonware-forums.org/forum/autres/les-aventuriers-de-la-traduction-perdue/764167-dune-cd/page15#post804135)
[HERAD 音乐格式描述](http://www.vgmpf.com/Wiki/index.php/HERAD)
[部分数据文件描述(CD 版本)](https://bigs.fr/dune_old/)
[HNM 视频格式描述](https://wiki.multimedia.cx/index.php?title=HNM_%281%29)
[adplug 中的 HERAD 实现](https://github.com/adplug/adplug/blob/master/src/herad.cpp)
[DUNE revival 线程](https://forum.dune2k.com/topic/17217-rewriting-cryos-dune-1-it-seems-possible/page/13/)
[DUNE 游戏翻译](https://github.com/sonicpp/Dune-game-translations)
[MIDIPLEX 中的 HERAD 实现](https://github.com/stascorp/MIDIPLEX)
# IDA 设置与操作指南
8086 16 位实模式。
入口点(CS 初始值)= 1ED。
DOSBox Debugger AUTOEXEC 示例:
```
mount C C:\DUNE_CD\C
imgmount D "C:\DUNE_CD\CD\Dune.iso" -t iso
D:
Z:\DEBUG.COM DNCDPRG.EXE ENG ADP220 SBP2227 EMS 386 SAF WRIC:\DUNECD\
exit
```
[ScummVM Wiki : HOWTO-Reverse Engineering](https://wiki.scummvm.org/index.php?title=HOWTO-Reverse_Engineering)
# LICENSE
GNU GPLv2 许可证
标签:DNS解析, DOSBox, DOS游戏, DUNE, Ghidra, IDA, ScummVM, URL提取, x86, 云资产清单, 仿真器, 反编译, 复古游戏, 安全报告生成, 工具链, 开源项目, 快速连接, 汇编语言, 游戏开发, 游戏引擎, 游戏重制, 软件保护, 逆向工程