最近有人给我发了一个程序的反编译成C.它是一个很好的反编译,生成漂亮的,大多是readabe C代码(如果你忽略了一个事实,没有一个变量或者函数有一个人类可读的名称)大多看起来像它实际上编译。

有一个是大问题,虽然。我碰巧知道他是反编译的程序是用Delphi编写的,其中充满了难以转化为C.但我真的被反编译的输出印象深刻的概念,它让我不知道。有什么事情可以做,对于德尔福?

在最好的反编译工具,我已经看到了德尔福德德。它可以做很多事情,但它甚至不尝试生产Object Pascal的代码作为其输出,而且一直没有更新,因为德尔福6,是否有更好的东西在那里?

有帮助吗?

解决方案

我不认为有产生帕斯卡代码的任何机器代码的反编译。最“德尔福反编译”解析的形式和RTTI数据,但实际上却并不反编译的机器代码。我只能建议使用像德德(或类似的软件)提取在与C的反编译组合符号的信息,然后翻译的反编译的C代码的Delphi(有很多的源代码转换器在那里)。

其他提示

可以使用 IDR 它是一个伟大的程序进行反编译Delphi中,它是更新到当前Delphi的版本,它有很多的功能。

下面是一个列表: http://delphi.about.com/od/ devutilities / A / decompiling_3.htm (这页提到了一些更多:的http:// www.program-transformation.org/Transform/DelphiDecompilers

我用德德之际,但它不是真的那么强大,这不是上最新与当前版本的Delphi(它支持最新的版本是德尔福7,我相信)

语言等的Delphi,C和C ++编译到处理器的本机代码,并输出可执行文件具有很少或没有它们的元数据。这是与Java或.Net,其编译成面向对象的与平台无关的字节代码,它保留的方法,方法的参数,类和命名空间,和其它元数据的名称的对比度。

因此,有可以在Delphi或C代码来完成很多不太有用反编译。 然而,德尔福通常具有嵌入表单数据的任何形式的项目(由$ R * .DFM线产生的),它也对所有已发布的属性的元数据,所以一个Delphi专用的工具将能够提取这些信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top