工具下载:https://varaneckas.com/jad/
以下假设jad.exe在c:java目录下
一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:java>jad example1.class
c:java>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。
二、Option -o
不提示,覆盖源文件
三、Option -s
c:java>jad -sjava example1.class
反编译结果以.java为扩展名。
四、Option -p
将反编译结果输出到屏幕
c:java>jad -p example1.class
将反编译结果重定向到文件
c:java>jad -p example1.class>example1.java
五、Option -d
指定反编译的输出文件目录
c:java>jad -o -dtest -sjava *.class
jad命令的参数含义如下:
-o:覆盖旧文件,而且不用提示确认。
-r:重新加载生成包结构。
-s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
-d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
classes/**/*.class:classes是需要反编译的文件夹的名字,整个表示classes目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。
例如:
D:mapreduce>jad -o -r -sjava *.class
将文件接下到一个目录,然后进入所在目录cmd;
将要编译的.class文件放到这个目录:
jad -o -r -sjava *.class