【问题标题】:Is it possible to decompile a C++ executable file [duplicate]是否可以反编译 C++ 可执行文件 [重复]
【发布时间】:2018-10-13 05:05:06
【问题描述】:

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

【问题讨论】:

  • 不,没有办法。
  • 没有。原始源代码不包含在可执行文件中。您可以反编译为某种形式的程序集。当然,谷歌本可以很容易地为你回答这个问题。所以可以在这里进行简单的搜索:stackoverflow.com/q/3928318/62576
  • “当然,Google 可以很容易地为您回答这个问题。”您认为大多数用户是如何来到这里的?

标签: c++ executable decompiling


【解决方案1】:

this question here. 的副本

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

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

  • 编辑:您很可能已经丢失了所有的逻辑和函数体,但您可能能够恢复整体结构。这是您的 EXE,因此您可能更熟悉它是如何连接起来的。

【讨论】:

  • 如果它是重复的,则将其标记为此类并提供指向该重复的链接,而不是发布答案。 (一旦达到足够的代表,您可以直接投票将其作为副本关闭。)
  • 哦!我非常抱歉。我会看看我能做什么。谢谢,肯
【解决方案2】:

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

输出源代码与原始代码不同,因为编译器在生成可执行文件时会优化原始源代码。

【讨论】:

    【解决方案3】:

    简答NO。

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

    【讨论】:

      猜你喜欢
      • 2010-12-02
      • 1970-01-01
      • 2011-07-14
      • 2013-09-07
      • 2015-10-17
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      相关资源
      最近更新 更多