0

Is it possible to decompile C++ Builder exe?

Is C++ Builder safe programming tools or anyone can decompile it and see the code?

4

1 回答 1

9

简短的回答是,是的,它可以被反编译,而且它不是“安全的”。计算机上运行的任何东西都可以被拆卸,并通过阅读拆卸来检查。反编译甚至意味着恢复一些原始编译的源代码——这在某种程度上确实是可能的。毕竟,它“只是”关于编写一个可以将汇编翻译成所需语言的程序。如果人类可以做到这一点,那么程序也可以做到这一点,因为它只是应用已知的规则和逻辑将程序从不同的表示/语言翻译成另一种。然而,事情并没有那么简单……

许多信息(如源文件、变量名、一些未使用的代码、注释等)在编译过程中丢失。编译器优化会进一步恶化这种情况,这通常会使生成的反汇编在某些情况下几乎不可读。因此,反编译的源代码只能提供有关实现细节的线索,主要只是逻辑,而不是用于构建项目的实际源代码。

请注意,这与任何形式的“安全”或程序本身的安全性几乎无关。任何程序都可以以某种方式进行反汇编,工作程序背后的任何逻辑都可以进行检查和逆向工程。程序内部不可能有秘密,如果可以运行,就没有什么可以隐藏的。

反汇编一段可执行文件并在汇编中处理其逻辑通常要容易得多,而不是试图依靠许多此类反编译器仍然产生的 C 等高级语言中非常模糊且通常被破坏的重构。虽然有时,工具可以通过反汇编生成可读且非常清晰的高级表示,但它们通常是简单的案例和简短的代码摘录。

底线是,您不需要反编译器来检查、逆向工程和理解目标程序。所有人都需要访问可执行文件、反汇编程序和对汇编语言的理解。没有办法避免这个事实,而且它很少是一个真正的问题。

于 2012-06-22T12:36:17.643 回答