反编译,相信这是很多开发者都做过这样的事情,那对于初学者来说,如何快速对相关jar包/class文件进行反编译呢。
下面来介绍一块比较好用的反编译工具:jd-gui(Java Decompiler)。
- “编译”:将源代码转换成二进制执行代码的过程(.java—>.class);
- “反编译”:将二进制转换为源代码的过程(.class—>.java)。
一、jd-gui(java反编译工具)
官网下载地址:http://java-decompiler.github.io/
1.概念介绍
JD-GUI是一个独立图形界面的Java源代码“.class”文件反编译工具。您可以浏览重建的源代码,JD-GUI的即时访问方法和字段。JD-GUI是免费的非商业用途。这意味着,JD-GUI不得包含或嵌入到商业软件产品。不过,这个项目可以被自由地用于个人需要一个商业或非商业的环境。
JD-GUI 可以把已经生成的Jar包反编译回代码的形式,没有经过代码混淆的Jar包反编译后和实际的源码会有一定的差别,但不影响阅读。
JD-GUI是可视化的,所以使用起来非常简单,只要引入Jar包就可以执行反编译。
2.功能介绍
此程序jd-gui.exe使用C++开发,主要具有以下功能:
(1)支持众多Java编译器的反编译;
(2)支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;
3.JD-Core和JD-GUI
JD-Core 是一个免费的库,从一个或多个“.class”文件中 重构Java源代码。JD-Core可以用来恢复丢失的源代码,并深究Java运行时类库
。支持Java 5的功能:如注释,泛型或枚举 。JD-GUI 和 JD-Eclipse都包括JD-Core。
JD-GUI 是一个独立的显示“.class” 文件Java源代码的图形用户界面工具。您可以使用JD-GUI浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。
二、jd-gui的使用步骤
解压即用。
(1)首先找到需要编译的jar包,右击选择打开方式。
PS:
1、因为jar文件/class文件不会自动使用jd-gui进行打开。
2、jd-gui为免安装软件