是否可以反编译C++可执行文件

Is it possible to decompile a C++ executable file

我丢失了一个可执行文件的源代码,但仍然有实际文件。有没有办法找回原来的C++代码?

重复 this question here.

是的,这是可能的,但是在查看函数体等方面,您的运气可能会差一些。像 Kali Linux 这样的操作系统专门从事反编译和逆向工程,所以也许可以研究一下它的虚拟机。当然,windows 有很多应用程序,您也可以使用它们来检查应用程序代码。

查看其他问题以获得具体的应用建议。 :)

  • 编辑:您很可能会丢失所有逻辑和函数体,但您可能能够恢复整体结构。这是您的 EXE,因此您可能更熟悉它的连接方式。

您无法获得原始源代码,但您可以使用类似问题中提供的工具将二进制文件反编译为源代码:Is there a C++ decompiler?

输出的源代码看起来不像原来的源代码,因为编译器在生成可执行文件时会优化原始源代码。

简答NO.

长答案,因为 C++ 不使用某些中间代码,如 C# 或 Java,您无法以某种可读格式反编译应用程序。但是,如果您可以阅读汇编,也许可以节省一些时间。