逆向工程旧油漆程序

时间:2009-03-27 01:56:15

标签: reverse-engineering paint dos decompiling disassembly

我有几个非常老的基于MSDos的绘画程序。它们适用于调色板索引图像缓冲区。它们具有许多壮观的形状绘制工具,画笔和效果,在任何现代绘画程序中都不存在 - 特别是在低色调的索引图像的“边界”内时。我想在现代程序中重现许多这些奇妙的工具,或许让我们再次更容易访问自己和普通大众,而无需启动像dosbox这样的模拟器。但我有一个问题。

虽然很多这些画笔和工具都有明显的功能,但其实现应该相当简单。但是使用其他工具,他们的操作原则并不那么明显。我将无法确定一个正确或忠实的算法来实现这些。

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

编辑:似乎“问问你们应该接受”真的有用。

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:6)

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

除此之外,反汇编和调试将成为你的朋友。在某些情况下,如果您知道最初编译的软件,您可以对其进行反编译。但是反汇编它,并在调试器中运行它以找到总体结构,并寻找实际刷子工作的明显函数。

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

- 亚当