量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

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 を併用すれば、ある程度まではデコンパイルに成功するけど、
それでも上手く行かないものもあるので、ここから先は別の手段を検討するしかない。


参考資料: