jad
概要編集
Jadは遥か昔から存在していおりJavaの世界では凄く有名である。 基本的にはJavaの中間コードであるclassファイルを人間が読めるソースコード形式であるjavaファイルに変換するというものである。
dex2jarなどを用いてDalvik仮想マシン用の中間コード(dexファイル)をJava仮想マシンの中間コードに変換することでAndroidの逆コンパイルにも使える。
Java 1.4までの中間コードにしか対応しておらず、Java 5以降の中間コードを喰わせるとgoto文などの嵐となる。ソースコードの可読性という意味ではJava Decompilerなどの活発に活動している類似製品の方が優れている。ただし逆コンパイル時のエラー率は非常に低く、多くの場合に逆コンパイルしたものを直接的に再度コンパイルできる高い精度を誇っている。
インストール編集
Mac OS X編集
Mac OS XであればHomebrewからインストールするのが簡単である。バイナリでの配布物のインストールとなるためパッケージ名が少し特殊な点に注意すること。
$ brew upgrade
$ brew install homebrew/binary/jad