今となってはjadよりもJava Decompilerをおすすめしたい。
便利なJadで、よく使っているオプション。
Jad - the fast JAva Decompiler
jad.exe -8 -t -pi 100 -o -lnc -i -s .java *.class
- -8:文字列をUNICODEのエスケープ表現を使わないで通常の文字列で出力する。
- -t:インデントにタブを使う
- -pi <num>:import行を「*」を使ってまとめる閾値。100だと、ほぼ纏められずにClass単位でimport行が吐かれるので、参照しているclassを探しやすい。Fully qualified namesで出力する方法もあるが、これだと出力結果が「うるさく」なるので、このオプションを使っている。
- -o:プロンプトなしで上書き出力する
- -lnc:元のソースの行番号をコメントで挿入する。例外のスタックトレースに元のソースの行番号が出てくる場合があり、これを追いかけやすくなるから。
- -i:フィールドのデフォルト初期化も出力する。
- -s <ext>:逆コンパイル後出力ファイルの拡張子。デフォルトは「.jad」。