是否可以反编译C ++ Builder exe? C ++ Builder exe安全吗? [英] Is it possible to decompile C++ Builder exe? Is C++ Builder exe safe?

查看:141
本文介绍了是否可以反编译C ++ Builder exe? C ++ Builder exe安全吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以反编译C ++ Builder exe?

Is it possible to decompile C++ Builder exe?

C ++ Builder是安全的编程工具还是任何人都可以反编译并查看代码?

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

推荐答案

简短的回答,是的,可以反编译,并且不是安全。在计算机上运行的任何东西都可以拆解并通过阅读拆解来进行检查。 反编译意味着甚至还可以恢复某些原始的编译的源代码-在某种程度上确实可以实现 。毕竟,这只是编写一个可以将汇编语言翻译成所需语言的程序。如果人类可以做到这一点,那么程序也可以做到这一点,因为这仅是应用已知的规则和逻辑将程序从不同的表示形式/语言转换为另一种表示/语言。但是,不仅仅是这么简单...

The short answer, yes, it can be decompiled, and it's not "safe". Anything ran on a computer can be disassembled and from that inspected by reading the disassembly. Decompiling would mean restoring even some of the original compiled source code - which indeed is possible, to some extent. After all, it is "just" about writing a program which can translate assembly to the desired language. If a human can do that, then a program can do that too, because it is only about applying known rules and logic to translate the program from different representation/language to another. However, it is not just that simple...

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

Lots of information (like source files, variable names, some unused code, comments etc.) gets lost in the compilation process. This is further worsened by compiler optimizations which usually make the resulting disassembly near unreadable in some cases. As such, the decompiled source code can only give mere clues about the implementation details and mainly just the logic, not the actual source code used to build the project.

请注意这与程序的任何形式的安全性或安全性几乎没有任何关系。任何程序都可以以某种方式进行反汇编,可以检查和反向工程工作程序背后的任何逻辑。程序内不能有 secrets ,如果可以运行,则不会隐藏任何内容。

Please note that this has near nothing to do with any form of "safety" or security of a program itself. Any program can be disassembled in a way or another, any logic behind a working program can be inspected and reverse-engineered. There can be no secrets inside a program, nothing can be hidden if it can be run.

通常,反汇编一段可执行文件并通过其逻辑进行汇编要容易得多,而不是依赖于非常模糊且通常破碎的高级语言重构例如许多此类反编译器仍会生成的C。尽管有时,工具可以通过反汇编来生成可读性非常高的高级表示形式,但它们通常是简单的案例和简短的代码摘录。

It is often much easier to disassemble a piece of executable and work through its logic in assembly, than trying to rely on very vague and usually broken reconstruct in high-level language such as C which many such decompilers still produce. Sometimes though, tools can produce readable and very clear high-level representations by disassembling, but they are often the simple cases and short excerpts of code.

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

The bottom line is, that you don't need a decompiler to inspect, reverse-engineer and understand a target program. All one needs is the access to the executable, a disassembler and understanding of assembly language. There is no way to avoid this fact, and it is very rarely a real problem.

这篇关于是否可以反编译C ++ Builder exe? C ++ Builder exe安全吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆