12

我有几个非常老的基于 MSDos 的绘图程序。他们在调色板索引的图像缓冲区上工作。他们有许多壮观的形状绘制工具、画笔和效果,这些工具在任何现代绘画程序中都不存在——尤其是在停留在低调色板索引图像的“界限”内时。我想在一个现代程序中重现许多这些美妙的工具,也许让我和公众再次更容易使用它们,而不必启动像 dosbox 这样的模拟器。但我有一个问题。

虽然很多这些画笔和工具和东西都有明显的功能,但它们的实现应该相当简单。但是对于其他工具,它们的操作原理就不是那么明显了。我会被困在确定一个正确或忠实的算法来实现这些。

如果你是我,你会采取什么方法?是否有现成的反编译器/反汇编器可以处理这样的旧程序?或者你会采取一些不同的方法,比如有条不紊地测试不同输入的算法来推断底层函数?一些不同技术的组合?就这些程序中的一行而言,这些(商业)程序的原作者是众所周知的,现在是狂热的开源倡导者。我应该尝试直接联系他们并询问吗?我在逆向工程方面不是特别有经验,所以我不知道从哪里开始。

编辑:似乎“问,你会收到”确实有效。

编辑 2:查看http://animatorpro.org以获取我...获得源代码的程序的源代码。豪华油漆也不错,但丹席尔瓦似乎已经从地球上消失了。

4

2 回答 2

6

IDA Pro 几乎可以处理任何二进制文件,并且是此类工作的黄金标准,尽管联系作者也可能会有所帮助。

于 2009-03-27T01:59:11.320 回答
6

如果你能说服作者开源部分或全部程序,那是最好的方法。

除此之外,反汇编和调试将成为您的朋友。在某些情况下,如果您知道它最初是用什么编译的,您可能能够反编译一个软件。但是拆开它,并在调试器中运行它以找到总体结构,并寻找可以完成实际刷机工作的明显功能。

起初它可能看起来令人生畏,但一段时间后你会发现它令人惊讶地可以理解。

-亚当

于 2009-03-27T02:01:17.290 回答