Jad是一個Java的一個反編譯工具,是用命令行執行,和通常JDK自帶的java,javac命令是一樣的。不過因為是控製台運行,所以用起來不太方便。不過幸好有一個eclipse的插件JadClipse,二者結合可以方便的在eclipse中查看class文件的源代碼。
加載插件:
若插件包為:net.sf.jadclipse_3.2.4.jar
(1)直接放入eclipse\plugins\下;(2)插件統一管理:建立如下目錄樹:IDE\eclipsePlugin\jadclipse\eclipse\plugins,
然後將net.sf.jadclipse_3.2.4.jar放入這個路徑的plugins下。
啟動eclipse,在Help->About Eclipse SDK->Plug-in Details下就可以看到JadClipse插件信息了。
3。設置:
啟動eclipse,打開:Window->Preferences->Java->JadClipse,假如沒有找到JadClipse,檢查插件安裝的版本是否與你安裝的eclipse版本
對應。
在這裏可以很清楚地進行設置了。
可以在Eclipse的Windows—> Perference—>General->Editors->File Associations中修改“*.class”默認關聯的編輯器為“JadClipse Class File Viewer”,一般插件會自動關聯。
(1)Path to decompiler,這裏設置反編譯工具jad的全路徑名,比如:%JAVA_HOME%\bin\jad.exe.
若你在環境變量中設置了path指向Java安裝路徑的bin下就不用改了,默認是jad。
(2)Directory for temporary files,這裏設置臨時文件路徑。
至於Window->Preferences->Java->JadClipse目錄下的Debug,Directives,Formatting,Misc目錄中的參數設置,默認就夠了。
4.一切自動化 ,查看.class在eclipse中雙擊就OK了。
用上這個後jad那個程序好像就可以放兜裏了,不過還是附上它的命令使用說明:
反編譯單個JAVA語言的CLASS文件,在命令行輸入:jad example.class回車.
讓後在你當前目錄會生成一個Example.jad的文件!把它的後綴改為java就可以閱讀了!(你可以忽略.class後綴)
選項 -s<後綴>允許你更改輸出文件的後綴.
jad -sjava example.class
這條命令生成文件'example.java'.當你同時使用選項-o和-sjava時要小心了,因為Jad會意外的覆蓋掉你的源文件.
jad使用JAVA的CLASS文件名作為默認的輸出文件名.舉個例子,如果CLASS文件'example.class'包含了JAVA的CLASS'test'那麼jad會優先生
成'test.jad'.如果你想要指定一自己的輸出文件名,請使用重定向:
jad -p example.class >myexm.java
選項-d允許你指定輸出文件到另外一個文件夾,這個文件夾將默認創建在當前目錄.舉個例子:
jad -o -dtest -sjava *.class
(或者jad -o -d test -s java *.class,兩者是一樣的)
這條命令反編譯所有.class文件在當前目錄並且放置所有輸出文件在目錄'test'以.java為後綴名.
如果你想反編譯整個java類樹,用如下命令:
jad -o -r -sjava -dsrc tree/**/*.class
這條命令反編譯所有.class文件位於'tree'以及子目錄並且建立輸出文件在'src'目錄的相對子目錄中依照類的包名.舉個例子,如果文
件'tree/a/b/c.class'包含類'c'來自包'a.b',那麼數車文件的名字是'src/a/b/c.java'.
萬一你想要檢查輸出文件的精確度或者就是僅僅是好奇,這兒有個選項-a,它讓jad使用JAVA虛擬機字節碼作為注釋添加在輸出文件中.
jad支持內部類和匿名類,當jad把通配符搭配到輸入的文件名時,它自動的跳過匹配的內部類.
76.4M / 03-25
55M / 06-05
237.9M / 04-13
140.5M / 03-06
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
353.9M / 06-05
131.8M / 04-13
230.8M / 03-03
195.6M / 03-03
165.4M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
325.8M / 06-07
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
110.5M / 04-23
26.7M / 03-16
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
201.2M / 04-13
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
9.48G / 07-06
50KB / 07-06
116.2M / 04-10
1.92G / 04-17
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
509.7M / 07-06
561.8M / 07-11
1.32G / 01-19
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06