デコンパイルとは?
「*.java」ファイルを「javac」コマンドを使って、「*.class」ファイルを作ることをコンパイルというのですが、なんとその逆に「*.class」ファイルから「*.java」ファイルを作ることが出来ます。
「*.class」→「*.java」に変換することを、デコンパイルといいます。
これが出来ると「*.class」や「*.jar」しか無い状態でもソースを確認することが出来ます。
※ただし、コンパイルした時に最適化されてしまっているので、元のjavaファイルと同じものが出来るわけではありません。
Java Decompilerをダウンロードし、実行しよう
1.Java Decompiler からJD-GUIの「jd-gui-windows-[バージョン番号].zip」をダウンロードします。
2.ダウンロードした「jd-gui-windows-[バージョン番号].zip」を解凍します。
3.展開したフォルダの「jd-gui.exe」を実行します。
エラーが発生しなければ、次へ進みましょう。エラーが発生した場合はこちらへ
JD-GUIで、*.jar,*.class,*.zipから*.javaにデコンパイルしよう
1.「jd-gui.exe」を実行すると、このような画面が表示されます。
2.1.の赤枠の通り好きな方法で、 ファイルを開きます。
3.今回は、javaの「src.zip」を開きました。
以下のような感じで、見ることが出来ます。
※*.classファイルでもちゃんと見れるので安心してください。
4.*.classファイルのままだと、検索が出来ないので、「File > Save All Sources」を選択して、ファイルを保存しましょう。zipファイルして保存出来ます。
zipファイルを解凍すると、全てのデコンパイルして、*.class→*.javaファイルに変換したものを見ることが出来ます。
JD-GUIがエラーが発生した場合
1.「jd-gui.exe」を実行すると以下のエラーが発生する場合があります。
「This application requires a Java Runtime Enviroment 1.8.0」
→このアプリを「Java Runtime Enviroment 1.8.0」が必須だよ。という意味ですね。
というわけで、Javaの1.8.0以上のバージョンをインストールして、再度実行しましょう。
※Javaをデコンパイルするソフトは、Javaで作成されているようですね。
Javaのインストール手順は、こちらから「Javaのインストール手順」