有没有一个C ++反编译器?

我有一个程序,我失去了C ++源代码。 那里有没有好的C ++反编译器?

我已经跑过Boomerang了 。

您可以使用Hex-Rays使用IDA Pro 。 除非编译debugging信息,否则通常不会从二进制文件中获得良好的C ++。 准备花大量的手工劳动反转代码。

如果你没有去掉二进制文件,那么IDA Pro可以生成类似于C代码的代码,这是有希望的。 通常情况下,这是非常粗糙的,至less在几年前我曾经使用过。

信息在编译过程中被丢弃。 即使一个反编译器可以用类和所有东西(它可能不能)产生逻辑等价的代码,自编文件的部分在优化的发行代码中不见了。 没有variables名称,没有例程名称,没有类名 – 只是地址。

是的,但是他们都不会设法产生足够可读的代码来付出努力。 您将花费更多的时间尝试读取已编译的源代码,而不是从头开始重新编写旧的应用程序。

我还没有看到任何生成C ++代码的反编译器。 我已经看到了一些试图合理地尝试生成C代码的实验,但是它们往往依赖于匹配特定编译器的代码生成模式(这可能已经改变了,自从我上次研究这个以来已经有一段时间了) )。 当然,任何符号信息都将消失。 谷歌的“反编译”。

根据原始代码的大小和编写得如何,可能需要重新开始使用您最喜欢的语言(可能仍然是C ++),并从最后一个版本中的任何错误中学习。 有没有人曾经说过写一个扔掉?

很明显,如果这是一个巨大的产品,那么这可能是不值得的。