[英]is it possible to compile android .java source files produced jd-gui
[英]Batch decompiling of Java files with JD-GUI
我正在尋找一個程序來批量反編譯 Java 類。 我找到了 JAD,但是它不支持 Java 的一些新特性,這個程序的好處是它可以從命令行執行並自動生成 *.java 文件。
我還找到了 JD-GUI。 支持Java的大部分特性,缺點是不能做批處理。 您需要使用程序打開類文件並單擊保存。
有沒有辦法讓JD-GUI像JAD一樣做批處理?
JD-GUI 的命令行反編譯是一個非常需要的功能,但尚未實現。 或許您可以同時使用以下解決方法:
不幸的是,我還沒有看到任何具有命令行支持的好的開源 JD-GUI 替代品,所以我認為上面的內容目前已經很好了。
我可以推薦將 Jad 與JadRetro結合使用——當然,它不能使 Jad 生成 Java 泛型,但反編譯的源代碼(包括 Java 1.5+ 類)在功能上等同於原始代碼(並且在大多數情況下可反向編譯)。
它的使用很簡單:
jadretro *.class
jad類
筆記:
1. JadRetro 可以像這樣以批處理模式使用:jadretro ...
2. 如果您使用的是 jad v1.5.8e(而不是最新的 v1.5.8g),則應將“-c”選項傳遞給 jadretro(否則 jad 將拒絕反編譯 Java 1.5+ 類)。
看起來您可以使用命令行一次啟動帶有一大堆庫的 GUI,然后 CTRL+ALT+s/CTRL+w 每個選項卡以快速保存/關閉。 反編譯一堆依賴的時候不是自動化的但是可以忍受。 (請注意,“^”只是在 Windows 中執行多行命令的一個技巧。)
"c:\jd-gui-0.3.6.windows\jd-gui.exe" ^
c:\my-libs\lib-a.jar ^
c:\my-libs\lib-b.jar ^
c:\my-libs\lib-c.jar ^
c:\my-libs\lib-d.jar ^
c:\my-libs\lib-e.jar
File > Save all sources 將所有文件保存在主目錄中。
JD-GUI 具有將類文件批量導出為.java 文件的能力,壓縮在一個jar 文件中。
但是這個功能不是命令行控制的,而是鼠標點擊,這個不太穩定,有時會卡住。
您可以使用 jd-cli ( https://github.com/kwart/jd-cli/releases/tag/jd-cli-1.2.0 )。
jd-cli target.jar -od jar_result -g ALL
你會得到一個壓縮的java源代碼文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.