我有一个程序丢失了 C++ 源代码。有没有好的 C++ 反编译器?
我已经遇到了Boomerang。
信息在编译过程中被丢弃。即使反编译器可以生成具有类和所有内容的逻辑等效代码(它可能不能),自记录部分在优化的发布代码中消失了。没有变量名,没有例程名,没有类名——只有地址。
是的,但是它们都无法生成足够可读的代码来值得付出努力。与从头开始重写旧应用程序相比,您将花费更多时间尝试读取带有汇编程序块的反编译源代码。
我还没有看到任何生成 C++ 代码的反编译器。我见过一些实验性的,它们在生成 C 代码方面做出了合理的尝试,但它们往往依赖于匹配特定编译器的代码生成模式(这可能已经改变,自从我上次研究这个已经有一段时间了)。当然,任何符号信息都会消失。谷歌“反编译器”。
根据原始代码的大小和编写程度,可能值得用你最喜欢的语言(可能仍然是 C++)重新开始,并从上一个版本中犯的任何错误中学习。不是有人说过要写一个扔掉吗?
nb 显然,如果这是一个巨大的产品,那么它可能不值得花时间。