|
软件简介:上一页matlab V7.0 官方正式版最新无限制破解版测试可用 下一页PSPad editor(文本处理编辑工具) V5.0.0 中文版最新无限制破解版测试可用
本软件是由七道奇为您精心收集,来源于网络转载,软件收录的是官方版,软件版权归软件作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容: JD-GUI 是一个非常好用的java反编译软件,它实现了eclipse的高亮着色功能和多文件标签浏览功能,它可以支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转。JD-GUI 是一个独立的显示“.class” 文件Java源代码的图形用户界面工具。您可以使用JD-GUI浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。 【什么是反编译器】大家都知道,将源代码转换成二进制执行代码的过程叫"编译",比如将C源代码编译成exe可执行文件;那么把二进制执行代码的过程就叫"反编译",比如把exe转换为C源代码就叫"反编译"。 由于主流的C的编译器都进行了代码的优化,因此把C编译生成的exe文件反编译成C代码非常困难。但是像Java、.net这样基于虚拟机技术的编程语言则反编译非常容易,Java平台下有Jad、Jode、JD等反编译器,.net平台下则有Reflector等反编译器,反编译质量非常高,甚至和源代码几乎没什么差别。 折叠反编译得到的是源代码吗? 反编译得到的代码是非常接近于源代码,但是或多或少与源代码有一些差异的,比如一些表达式被优化掉了,比如: 下面的源代码: int i=1+1; 学过《编译原理》的同学知道有"常量优化"这个编译优化算法,因此上边的源代码一般会被优化为:int i=2; 由于在编译过程中已经进行了优化,把"1+1"这个原始的信息丢掉了,因此反编译出来的代码只能是: int i=2; 可以看到反编译得到的代码和源代码是有区别的。 比如:andriod中 download = (Button)findViewById(R.id.xiaz); 被优化成了download = (Button)findViewById(0x7f070018); 折叠程序可以反编译岂不是很不安全? 可以采用代码混淆等技术来加大反编译的难度和降低反编译代码的可读性,但是完全避免反编译是不可能的。 折叠反编译器的原理是什么? 由于Java、.net这样的基于虚拟机技术的语言都是采用了ByteCode的二进制结构,因此很容易将ByteCode转化为"抽象语法树"(简称AST,《编译原理》这门课中的概念),然后采用反编译器就可以将AST转换为代码了。 【下载地址】JD-GUI(java反编译软件) V0.3.6 英文绿色版“JD-GUI(java反编译软件) V0.3.6 英文绿色版最新无限制破解版测试可用[应用软件]”系转载自网络,如有侵犯,请联系我们立即删除,另:本文仅代表作者个人观点,与本网站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性七道奇不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 |