java反编译将.class文件转为.java文件
最近遇到了一个需要反编译的项目,记录一下过程。
首先介绍一下使用到的工具
1.Java Decompiler
Yet another fast Java decompiler.
下载地址:http://jd.benow.ca/#jd-gui-download
2.DJ Java Decompiler
With DJ Java Decompiler you can decompile java class-files and save it in text or other format. It's simple and easy.
下载地址:http://www.neshkov.com/dj.html
3.JAD Java Decompiler
Here is a mirror where you can get JAD for various platforms.
下载地址:http://varaneckas.com/jad
4.Java Optimize and Decompile Environment (JODE)
JODE is a java package containing a decompiler and an optimizer for java.
下载地址:http://jode.sourceforge.net/
以上几款工具都是主流的反编译工具具体使用方法都很简单,主要介绍一下第三种也就是JDA。
首先到官网下载JAD,下载好以后解压,将需要反编译的项目和解压后的文件放在同一个目录下方便操作
通过cmd进入到JAD解压文件目录下,运行反编译命令。
反编译命令 jad -o -r -s java -d com test/**/*.class
解释:
-o:覆盖旧文件,而且不用提示确认。
-r:重新加载生成包结构。
-s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
-d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
classes/**/*.class:classes是需要反编译的文件夹的名字,整个表示classes目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。