编译」(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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步