Javaクラスをバッチ逆コンパイルするプログラムを探しています。JADを見つけましたが、Javaのいくつかの新機能をサポートしていませんでした。このプログラムの利点は、コマンドラインと* .Javaファイルを自動的に生成します。
JD-GUIも見つけました。 Javaのほとんどの機能をサポートしますが、バッチ処理を実行できないという欠点があります。プログラムでクラスファイルを開き、[保存]をクリックする必要があります。
JD-GUIにJADのようなバッチ処理を実行させる方法はありますか?
JD-GUIのコマンドライン逆コンパイルは 強く要望されている 機能ですが、まだ実装されていません。当面は、次の回避策を使用できます。
残念ながら、コマンドラインサポートを備えた優れたオープンソースのJD-GUIの代替案は見たことがありません。
JadRetro と組み合わせてJadを使用することをお勧めします。もちろん、JadにJavaジェネリックを生成させることはできませんが、デコンパイルされたソース(Java 1.5+クラス)は、元の機能と機能的に同等です(ほとんどの場合、コンパイル可能です)。
使い方は簡単です:
jadretro * .class
ジャド。クラス
ノート:
1。 JadRetroは次のようにバッチモードで使用できます:jadretro ...
2。最新のv1.5.8gの代わりにjad v1.5.8eを使用している場合、 "-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
ファイル>すべてのソースを保存すると、すべてのファイルがホームディレクトリに保存されます。