如何对DOS .COM文件进行反向工程?就调试而言,我从FreeDOS的创建者那里了解了DEBUG和DEBUGX,以及Windows附带的默认DEBUG命令。当然,我可能可以与他们合作,并最终弄清楚我在做什么,但是我觉得这个过程最终会比必要的时间更长。

如果没有比DEBUG或DEBUGX更好的工具,那我可以用什么来处理这两个工具的输出?我的主要目标是创建模仿.COM程序的东西,但以更易于管理的格式(就代码而言)。

评论

百老汇建议:d86

#1 楼

我个人使用的DosBox调试器非常完整,具有类似SoftICE的界面。

否则,您可以使用Turbo Debugger或CodeView等DOS调试器。

评论


酷,我将尝试所有这些。我会以最适合我的方式回复您。到目前为止,CodeView看起来非常有前途

– JMcAfreak
13年4月19日在16:39

#2 楼

作为Ange回答的替代方法,我想提供偶像。在尝试对程序及其随附的文件格式进行逆向工程时,我已经有了很好的经验。它还使用DOSBox。但是,如果您拥有适当的IDA Pro许可证,那么-我认为-更加方便。

评论


嗯...当我有钱获得IDA Pro许可证时,我可能会考虑一下。谢谢你的提示。

– JMcAfreak
13年4月18日在22:13

@JMcAfreak:这就是为什么我添加了最后一句话。我认为SDK上次没有包含在IDA Freeware版本中,并且还支持插件(不完整或根本不完整?)。但是因为我有完整版本,所以我不会经常检查它。

– 0xC0000022L♦
13年4月18日在22:22

免费的IDA不支持SDK afaik-对此有一个非正式补丁,我尚未测试。

–天使
13年4月19日在6:32

我希望我可以选择两个可接受的答案! :P两者似乎都是非常好的选择。目前,我正在使用@Ange建议的内容(我正在尝试每种方法),但我一定会调查一下!

– JMcAfreak
13-4-22在15:53

然后接受@ 0xC0000022L,因为它增强了我的能力(我个人没有尝试过idados)

–天使
13年4月22日在16:42

#3 楼

我的回答有点晚了。这个网站的新手。为了反编译MS-DOS EXE和COM二进制文件,启动了Decompiler项目。该项目同时具有命令行和GUI工具:

https://sourceforge.net/projects/decompiler/

在命令行中使用以下命令用于反编译COM程序的工具:

decompile --default-to ms-dos-com myprog.com


在GUI中,使用菜单命令File> Open as...打开COM文件并指定起始地址,例如0800:0100。