JD-GUI全称为JAVA Decompiler,Java是一种解释性语言,是一款非常专业的java语言的反编译软件,JD-GUI支持Windows、Linux和苹果Mac Os三个平台,可以快速的对java文件进行反编译,适合于java编程人员使用,它可以对完整的jar文件进行反编译,还可以直接修改相关的代码,以及一些其他的功能。大家使用前注意看下方的使用帮助哦!教你如何解决打不开的问题。
jd-gui使用帮助
第一次运行的时候可能提示“this application requires a Java Runtime Environment 1.8.0”(如下图所示),后面的版本号可能会是1.5.0-1.8.0.
这个大概的意思就是缺失java1.8.0的支持,只要安装一个就可以了,点击“确定”会自动跳转到官网进行安装;或者点击下面的链接进行安装。
-
jdk1.8(Java SE Development Kit 8) 64位/32位 官方版
授权:免费软件 WinAll, WinXP, Win7, Win8大小:136.1M语言:中文
jdk1.8(32位/64位)是Java语言开发工具包应用。是Java编程学习中重要的一部分!关于如何设置相关参数,小编也提供了相应的图文步骤,快来绿色资源网下载吧。jdk1.864位/32位配置操作说明:jdk环境变量配置方法:在安
下载地址:http://www.winwin7.com/soft/50830.html
反编译解释
大家都知道,将源代码转换成二进制执行代码的过程叫“编译”,比如将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);
JD-GUI主要功能
一、支持众多java编译器的反编译;
二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;
JD-GUI使用方法
解压缩后打开软件,直接将jar包拖进去就可以进行编译了。
android反编译说明
android的apk反编译软件,合适大伙儿一起学,能把android产生的apk变为java代码,希望可以有用。
一、变更apk文件的文件后缀名,如:LianyunHelper3.0.11.apk改成LianyunHelper3.0.11.zip
二、用zip解压缩LianyunHelper3.0.11.zip文件
三、从解压缩的文件夹中取出classes.dex文件并放到dex2jar.bat所属目录
四、运行cmd指令,进入dex2jar.bat所属的目录,输入dex2jar.batclasses.dex就可以形成classes.dex.dex2jar.jar文件
五、用jd-gui工具打开classes.dex.dex2jar.jar文件,就可以见到源代码
六、将AndroidManifest.xml文件放到AXMLPrinter2.jar所属目录,运行cmd指令,进到AXMLPrinter2.jar所属目录,键入java-jarAXMLPrinter2.jarAndroidManifest.xml>AndroidManifest.txt。