工具下載: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


