【问题标题】:Decompiling a 1990 DOS application反编译 1990 DOS 应用程序
【发布时间】:2013-12-07 23:42:07
【问题描述】:

我有一些几十年前由一个古老的 16 位 DOS 应用程序编写的关键数据。 没有文档,没有来源,也没有关于作者的信息。只是 16 位的 exe。 我想是时候学习如何反编译东西了,因为这似乎是恢复文件格式的唯一方法。 我试过 OllyDbg,它看起来很棒,但它不能 16 位。

那么,是否有能够处理此类可执行文件的反汇编器/调试器? 谢谢。

UPD:我知道 DOSbox,该应用程序可以在其中运行。问题是,我不需要运行它,我需要了解它写入数据的文件格式。或者也许我对 DOSbox 一无所知,它也可以作为调试器/反编译器运行?或者你的意思是在 DOSbox 中启动一些旧的 16 位 DOS 调试器/反编译器?后者听起来像是一个主意,但是你能命名一个像样的 DOS 调试器吗?

【问题讨论】:

  • 你试过DOSBox吗?我会尝试模拟正确的环境,反编译会更难。
  • 如果您告诉我们 DOS 程序的名称,那么有人会认出它。
  • @AndrewMorton 这个机会接近于零,因为它是由博士生为他的论文撰写的,并且没有以任何方式分发。它被称为“OMWE.EXE”,是的。
  • @blindstuff 我已经更新了问题。
  • 数据有多重要?你如何获得数据?你最后一次获取数据是什么时候?程序可以读取文件并以可以捕获的方式显示数据,这样您就不必依赖程序了吗?为什么这个问题在 2013 年突然成为一个问题:你为什么不在 2003 年选择这个?如果你仍然可以运行程序,就像在 1993 年或 2003 年一样,问题是什么? (对遗留平台的专有程序突然冷落?)

标签: debugging decompiling decompiler disassembly


【解决方案1】:

拆机工具:

使用 IDA 免费软件https://www.hex-rays.com/products/ida/support/download_freeware.shtml 你不会找到任何更好的逆向工具——即使是旧的 dos 程序:)

大多数其他工具只能对 32 位进行反汇编,并且无法达到 IDA 的分析功能 - 它是逆向工程的黄金标准工具

调试器: dosbox 有自己的内置调试器(可通过命令行上的“调试”命令访问) 但是您需要使用激活的调试器构建自己的 dosbox 版本(或者更好的重调试),请参阅:http://www.vogons.org/viewtopic.php?t=3944

或者如果你有一个带有 sdk 的 ida 许可证,那么有一个可用的 dosboxida-debugger 插件 目前只有linux https://github.com/wjp/idados

文件格式: 你知道文件包含什么(你想从文件中得到什么) 非常复杂的信息或“只是”一些值列表?

也许最好从这里开始使用十六进制编辑器 (http://mh-nexus.de/de/hxd/) 和要比较的已知结果值

当前哪个程序使用数据(或仅使用程序本身)?或许可以理解这个程序是如何读取数据的?

程序本身: exe有多大? 控制台程序或大型超级 gfx 电源应用程序? 真正的 16 位或 32 位与 dos-extender? 单个 exe 或覆盖(dos-dll)?

您可以授予对可执行文件的访问权限吗?

轮到你了

【讨论】:

  • Necroposting 模式开启:我正在尝试反编译一个 16 位应用程序,但使用 IDA/Hex Rays 无法完成。使用 6.8。
【解决方案2】:

您正在寻找IDA。它是几乎任何东西的事实上的反汇编程序。

您可以通过https://reverseengineering.stackexchange.com/获得更多帮助

【讨论】:

  • 有试用版无法保存,格式支持有限。
【解决方案3】:

您不一定需要反汇编程序才能确定其写入数据的格式。

也许你可以对它进行差异分析。更改程序的一些输入,让它写入数据,然后观察文件的变化。

我这里有一些老式硬件设备,它们可以将它们的 NVRAM 设置以二进制格式转储到 MIDI 上(在一种情况下,一个带有二进制 blob 的单个 SysEx 消息)。如果我想知道格式是什么,我会对设置进行小的、系统的更改,并执行转储,然后查看二进制数据中的哪些位发生了变化。

你真的可能最好攻击数据,而不是程序。

【讨论】:

  • 谢谢,但该程序旨在保存来自轨道测试铁路车辆的多个传感器的数据。 (即使它仍然存在,也在其他国家)。所以是的,就我而言,攻击数据的可能性不大。
【解决方案4】:

Dosbox 可能是一个值得尝试的东西。

你也可以看看http://hte.sourceforge.net/

【讨论】:

  • 我已将我对 DOSbox 的评论添加到问题中。另一方面,HTE 看起来很有希望,谢谢。
猜你喜欢
  • 2012-07-28
  • 2010-10-13
  • 2010-10-17
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多