编译」(compile),与「反编译」(decompile)..哪些语言容易被反编译.

编译」(compile),就有「反编译」(decompile)


同样的道理,有「编译」(compile),就有「反编译」(decompile);有「反编译」,就有「反反编译」。对于Java和.NET这种虚拟机器的中间码来说,尤其明显。

  Java程序编译后的结果是Java Bytecode,而.NET编译后的结果是CIL(Common Intermediate Language),两者都具有下列的特性:

  -同为堆栈式(stack-based)指令集。

  -同为高阶面向对象机器语言

  -和平台无关

  -Code Validation

  -Symbolic Link

  上述任何一点特色,都可以让程序变得更容易反编译,全部五点结合起来更是不得了。所以要反编译Java和.NET可以说是相当容易的。网络上就到处流传着Java的反编译器(decompiler),可以把编译后的档案反推出原始码,


Powered by Zoundry

posted @ 2011-03-04 18:43  attilaxAti  阅读(46)  评论(0编辑  收藏  举报