是否可以反编译C ++ Builder exe?
C ++ Builder是安全的编程工具还是任何人都可以反编译并查看代码?
答案 0 :(得分:9)
简短的回答,是的,它可以被反编译,并且它不是“安全的”。计算机上运行的任何东西都可以通过阅读反汇编进行反汇编和检查。 反编译意味着甚至可以在某种程度上恢复一些原始编译的源代码 - 确实 。毕竟,它只是“编写”一个可以将汇编语言转换为所需语言的程序。如果人类可以做到这一点,那么程序也可以这样做,因为它只是应用已知的规则和逻辑将程序从不同的表示/语言翻译成另一个。然而,它不仅仅是那么简单......
许多信息(如源文件,变量名,一些未使用的代码,注释等)在编译过程中丢失。编译器优化会进一步恶化这种情况,这种优化通常会使得在某些情况下得到的反汇编几乎不可读。因此,反编译的源代码只能提供有关实现细节的线索,主要只是逻辑,而不是用于构建项目的实际源代码。
请注意,这与任何形式的“安全”或程序本身的安全性几乎没有任何关系。任何程序都可以以某种方式进行拆卸,可以检查和反向设计工作程序背后的任何逻辑。程序中不能有 secrets ,如果可以运行则无法隐藏任何内容。
通过组装中的逻辑来反汇编一段可执行文件通常要容易得多,而不是试图依赖C语言这样的高级语言(很多这样的反编译器)中非常模糊且通常破坏的重构。他们仍然生产。有时候,工具可以通过反汇编产生可读且非常清晰的高级表示,但它们通常是简单的情况和简短的代码摘录。
底线是,您不需要反编译器来检查,反向工程和理解目标程序。所有需要的是对可执行文件的访问,反汇编程序以及对汇编语言的理解。没有办法避免这个事实,这很少是一个真正的问题。