我的公司有少量 .exe 是在 80 年代编写的,用于执行一些次要的重要任务。源代码不见了,文档也很稀缺。为了运行它们,我们需要使用 DOSBox。我的团队希望将流程变成现代语言,以便我们可以维护代码,并在可能的情况下查看程序的运行方式。以前尝试储备工程师失败了,我相信是因为没有足够的时间来解决这个问题。我做了一些探索,看看有什么可能。到目前为止,这是我认为我发现的:
- 使用 IDA PRO 5.0 我可以将代码恢复到汇编状态。代码看起来很实用。
- 从上面可以看出,原始代码是 Pascal 或 Delphi。
- 看起来我可以看到使用什么编译器(Borland)来创建 .exe 文件。
我的问题是,如果我知道编译器是 Borland,我可以使用该信息返回相对正确的源代码吗?我知道变量名会很糟糕,它可能还有其他需要调试的问题,但是只要回到带有循环和定义的函数调用和方法的代码的基本结构就会很棒。如果没有,我是否一直在努力学习汇编以更好地了解正在发生的事情?