我找到了一个我当时喜欢的 DOS 免费软件游戏的二进制副本(消防员,可下载为FIRE.COM
),但源代码不可用。我想使用 Unix 诅咒在 C 或 Python 中重新实现它,虽然我完全有能力完成这部分工作,但我对逆向工程和反编译 DOS .COM 文件二进制文件的工具几乎一无所知。
根据说明 .COM 是无头原始机器代码的文档,我尝试objdump -D -b binary -m i386
在其上运行。结果看起来无效。objdump -D -b binary -m i8086 –adjust-vma=0×100
似乎可以像使用 NASM 一样解决问题,ndisasm -b 16 -a -o 0×100
并且这两种方法似乎都可以生成合理的程序集列表。
不过,理想情况下,我正在寻找以as-if-it-were-assembler风格反编译并呈现为 C 的东西,并在 DOS 陷阱上生成变量名称和有用的注释。我知道这样的野兽可能不存在,但我正在寻求建议。