首页网

jd gui官方网站

介绍:
jd-gui.exe(java反编译工具)

jd-gui.exe(java反编译工具)官网

首页:http://java-decompiler.github.io

什么是反编译

大家都知道,将源代码转换成二进制执行代码的过程叫“编译”,比如将C源代码编译成exe可执行文件;那么把二进制执行代码的过程就叫“反编译”,比如把exe转换为C源代码就叫“反编译”。

由于主流的C的编译器都进行了代码的优化,因此把C编译生成的exe文件反编译成C代码非常困难。但是像Java、.net这样基于虚拟机技术的编程语言则反编译非常容易,jd gui官方网站Java平台下有Jad、Jode、JD等反编译器,.net平台下则有Reflector等反编译器,反编译质量非常高,甚至和源代码几乎没什么差别。

反编译得到的是源代码吗?

反编译得到的代码是非常接近于源代码,但是或多或少与源代码有一些差异的,比如一些表达式被优化掉了,比如:

下面的源代码:

int i=1+1;

学过《编译原理》的同学知道有“常量优化”这个编译优化算法,因此上边的源代码一般会被优化为:int i=2;

由于在编译过程中已经进行了优化,jd-gui.exe(java反编译工具)官网(http://java-decompiler.github.io)把“1+1”这个原始的信息丢掉了,因此反编译出来的代码只能是:

随机官网
Copyright © 2013-2014 首页网 ALL Rights Reserved