我认为Java可执行文件(jar文件)不容易反编译并获取源代码。
I think that java executables (jar files) are trivial to decompile and get the source code.
其他语言呢? 和所有?
What about other languages? and all?
哪些语言只能编译为可反编译的代码?
Which all languages can compile only to a decompile-able code?
推荐答案通常,像Java,C#和VB.NET这样的语言相对容易反编译,因为它们被编译为中间语言,而不是纯机器语言。以IL形式,与编译为机器语言的C代码相比,它们保留的元数据更多。
In general, languages like Java, C#, and VB.NET are relatively easy to decompile because they are compiled to an intermediary language, not pure machine language. In their IL form, they retain more metadata than C code does when compiled to machine language.
从技术上讲,您并没有获得原始的源代码,而是对源代码进行了一些改动,在编译时会将其返回给您。它与源代码不同,因为注释,注释和编译器指令之类的内容通常不会结转到已编译的代码中。
Technically you aren't getting the original source code out, but a variation on the source code that, when compiled, will give you the compiled code back. It isn't identical to the source code, as things like comments, annotations, and compiler directives usually aren't carried forward into the compiled code.
更多推荐
哪些类型的可执行文件可以反编译?
发布评论