Jode を使って複数の class ファイルを一括デコンパイルする。
Jode は jad.exe ではデコンパイルできなかった class ファイルをある程度デコンパイルできた。
GUI ツールの方はやや使いづらいけど、コマンド入力だと jar ファイル内の class ファイルを一括でデコンパイルできる。
デコンパイルできない場合は 0KB の java ファイルができてしまう。
自分がやったのはこんな感じ。
1. Jode の jar ファイルを任意のディレクトリに置く。(例:"C:\Java\jode-1.1.2-pre1.jar")
2. Windows のシステムパスが通っているディレクトリに jode.cmd というファイルを作成する。中身は↓のような感じ。
@echo off
setlocal
set CLASSPATH="%CLASSPATH%";C:\Java\jode-1.1.2-pre1.jar
java -classpath %CLASSPATH% jode.decompiler.Main %1 %2 %3 %4 %5 %6 %7 %8 %9 %10
endlocal
3. デコンパイル対象の jar ファイルを上記で作成した jode コマンドの引数に指定して一括でデコンパイルする。
jode -d . target.jar
こうすると、対象の jar ファイルと同じディレクトリに"0"という名前のサブディレクトリが勝手に作成されて、
その中にデコンパイルされた java ファイルがパッケージ階層に従って生成される。
このように jad.exe と Jode を併用すれば、ある程度まではデコンパイルに成功するけど、
それでも上手く行かないものもあるので、ここから先は別の手段を検討するしかない。
参考資料: