2011-01-25 31 views
3

嗯,我想主題說這一切:)我怎樣才能一次反編譯許多罐子?

理想的解決方案將找到某個文件夾內的所有jar(它們可能在子文件夾中),並將所有發現的源文件寫入單個「src」目錄當然,維護包文件夾。

混凝土用例:編譯所有的Eclipse插件罐子

+0

你應該要求反編譯S/W上。谷歌爲最佳可用。 – 2011-01-25 12:31:14

+0

你可以使用'find'命令嗎? – Navi 2011-01-25 12:34:26

+0

如果您只想在需要時查看代碼,那麼您也可以使用Eclipse的反編譯器插件。 – 2011-01-25 12:38:30

回答

20

下載JAD Decompiler

  • 將所有jar文件(使用命令jar xvf)解壓到某個目錄。我們稱之爲${unjar.dir}

  • 爲JAD創建一個目錄來寫出反編譯的源代碼。我們稱之爲${target.dir}

  • 執行以下命令:

jad -o -r -sjava -d${target.dir} ${unjar.dir}/**/*.class 

選項是:

-o  - overwrite output files without confirmation 
-r  - restore package directory structure 
-s <ext> - output file extension (default: .jad) 
1

反編譯Eclipse插件?? (1)您可以將(官方)eclipse插件的所有源文件作爲捆綁銷售,並且(2)不要期望反編譯器結果可以編譯或可以用於調試代碼。

所以,如果你想研究eclipse的來源和它的插件,反編譯是..說..不是最好的想法。

1

我在曾經寫過使用shell scriptcfr工具名稱code-collectionfinddecompile所有jarwar文件。

反編譯jar,war文件後,您可以使用我的工具查找並複製所有特定文件(例如.js.html)到一個新目錄。 code-collection

0

在Windows等效命令因爲這將是::

enter image description here

在訪問我的項目

jad -o -r -sjava -d "target.dir" "unjar.dir/**/*.class"