Javaでコンパイルするとクラスファイルが作成されますが、これをデコンパイル、いわゆるJavaのソースコードに戻す手順を紹介します。
jarファイルも簡単にデコンパイルできます。
使用するツールはJava Decompilerです。
この記事では、Java Decompilerのダウンロード方法と使い方を学んで、実際にクラスファイルをデコンパイルしてみます。
なお、Windows版で解説します。
Java Decompilerをダウンロードして起動する
Java Decompilerのダウンロードページは以下のリンクです。
アクセスすると、JD-GUIの部分にDownloadタブがあるのでそれをクリックすると、OS毎に分かれているので、環境に応じてクリックしてダウンロードをします。
Windowsの場合は一番下の「jd-gui-wiundows-[バージョン].zip」をダウンロードします。
![](https://sararun.net/wp-content/uploads/2024/01/image-38.png)
ダウンロードしたらzipを展開します。
展開した中身は以下の通り。
![](https://sararun.net/wp-content/uploads/2024/01/image-42.png)
インストーラーではないので、exeをダブルクリックで起動します。
初期画面は以下の通り。
![](https://sararun.net/wp-content/uploads/2024/01/image-39-1024x699.png)
Java Decompilerの使い方
使い方は簡単です。
Javaのクラスファイルを開くだけでデコンパイルしてくれます。
試しに、以下のソースコードを作ってクラスファイルにします。
![](https://sararun.net/wp-content/uploads/2024/01/image-40.png)
![](https://sararun.net/wp-content/uploads/2024/01/20240124.png)
クラスファイル
コンパイルで上記の「Main.class」ができたので、これをJava Decompilerで開きます。
開き方は、File -> OpenFile…でクラスファイルを選択するだけです。
![](https://sararun.net/wp-content/uploads/2024/01/20240124_2.png)
「Main.class」を開くと以下のようにデコンパイルされて、javaソースコードに戻りました。
![](https://sararun.net/wp-content/uploads/2024/01/image-41.png)
クラスファイル単体だけでなく、フォルダごと取り込みやjarファイルの取り込みも可能です。
OpenFile…を選択せずに、クラスファイル・jarをJavaDecompiler画面にドロップするだけでも開けます。
コンパイル時には処理で不要なコメント文などが削除・整理されるので、デコンパイルすると自分が作成したjavaソースコードとは違ってスリムになります。
ソースコードが複雑であるほど解読が難しくなりますが、コンパイルした当時との処理に差異があるか確認する時には役立ちます。
もらったのはクラスファイルだけでjavaソースコードの中身が知りたい…
と思った時にJava Decompilerを活用してみてください。
あやゆるIT分野を空いた時間に学べる!