JD-GUIとは
とは、クラスファイルをデコンパイルしてJavaソースコードを表示することができるGUIツールです。単一の実行可能jarとして配布されており、ダブルクリックでデスクトップアプリケーションとして起動するウィンドウから直感的に操作することができます。
- サイト :
 - GitHub:
 
またスタンドアロンのJD-GUIの他、Eclipseに組み込んで使用できるプラグインの も提供されています。
JD-GUI
JD-GUIは単体で使用可能なGUIデコンパイラです。
使い方
まずは  のDownloadタブを開き、JARファイル jd-gui-x.x.x.jar をダウンロードします。
このJARファイルは単一の実行可能JARであり、かつGUIツールであるため、Windowsの場合はダブルクリックするだけですぐにそのままアプリケーションを起動することができます。
① Downloadタブを選択
② jd-gui-1.6.6.jar を選択してダウンロード
③ ダウンロードした jd-gui-1.6.6.jar をダブルクリック
④ アプリケーションウィンドウが起動

特にJavaをインストーラでなくZIP形式でローカル環境に入れている場合、必要な設定が不足しているためにダブルクリックによるJARの実行ができないことがあります。
プロパティより拡張子 .jar の関連づけを javaw.exe にする、レジストリエディタより HKEY_CLASSES_ROOT\jarfile(または jar_auto_file 等の場合も)\shell\open\command を "C:\...\javaw.exe" -jar "%1" %* にする、等その状況に応じて必要な対応は様々です。
ダブルクリックでなくともまずはとにかくJAR(ここでは jd-gui-1.6.6.jar )を起動したいだけであれば、環境固有のWindows設定をいくつも確認するより、javaコマンドで直接起動するのが最も簡単で確実です。(  )
javaコマンドを使える環境であることを確認し、-jar オプションを使用して jd-gui-1.6.6.jar を起動します。
# javaコマンドが使用可能であることを確認(JD-GUIはJava8以上が必要)
$ java -version
java version "1.8.0_431"
Java(TM) SE Runtime Environment (build 1.8.0_431-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.431-b10, mixed mode)
# JD-GUIをダウンロードしたディレクトリまで移動
$ cd
C:\Users\xxx\Downloads
# JD-GUIをダウンロードしたディレクトリで次のjavaコマンドを実行
$ dir
yyyy/mm/dd  hh:mm         3,238,491 jd-gui-1.6.6.jar
# jarオプションによりJD-GUIを起動(GUIツールが立ち上がる)
$ java -jar jd-gui-1.6.6.jar
javaコマンドを実行できるようにするための手順はこちらです。JD-GUIの起動にはJava8以上が必要です。そのためJava7以下を使用している環境で、ダブルクリックにより jd-gui-1.6.6.jar を起動しようとすると以下のようなエラーウィンドウが表示されます。

Java Virtual Machine Launcher
A Java Exception has occured.
ダブルクリックによる起動で使用されるJavaのバージョンは、プロパティやレジストリのファイル関連付け設定または  の設定などを確認する必要がありますが、ここでも確実な対処法は  の場合と同様、一旦ダブルクリックによる起動を諦めてjavaコマンドから直接起動する方法です。
またこのバージョンによるエラーは、コマンドから起動すると、より詳細にエラー内容を確認することができます。
# Java8の場合
$ java -version
java version "1.8.0_431"
Java(TM) SE Runtime Environment (build 1.8.0_431-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.431-b10, mixed mode)
# 正常にJD-GUIを起動できる
$ java -jar jd-gui-1.6.6.jar
# Java7の場合
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
# クラスファイルのバージョンに関するエラーが出力される
$ java -jar jd-gui-1.6.6.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/jd/gui/App : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Java7のjavaコマンドではクラスファイルのバージョン52.0をサポートしていない旨が出力されます。これはJava8に対応するクラスファイルのバージョンであり、jd-gui-1.6.6.jar が1.8でコンパイルされたJARのため、エラーとなっていることが分かります。
アプリケーションが起動できたら、続いてデコンパイル対象のクラスファイルを選択します。上部のメニューから File > Open File.. をクリックし対象を選択して[開く]を押下するか、あるいはウィンドウにエクスプローラからファイルを直接ドラッグ&ドロップして開くことも可能です。

選択したクラスファイルはデコンパイルされ、ソースコードが表示されます。

また単一のクラスファイルの他、JARやZIP等のアーカイブファイルも選択でき、この場合はパッケージ構成を階層化して表示されます。

JD-Eclipse
JD-EclipseはEclipse上でクラスファイルをデコンパイルしたソースコードを確認できるようにするためのプラグインです。
使い方
まずは  のDownloadタブを開き、ZIPファイル jd-eclipse-x.x.x.zip をダウンロードします。続いてEclipseを開き、ダウンロードしたZIPファイルをドラッグ&ドロップでインストールします。
① Downloadタブを選択
② jd-eclipse-2.0.0.jar を選択してダウンロード
③ Eclipseのメニューから Help を選択
④ Install New Software.. を押下

⑤ 開いたウィンドウにエクスプローラからZIPファイルをドラッグ&ドロップ

⑥ Java Decompiler Eclipse Plug-in にチェックを入れる
⑦ Next > Finish とボタン押下で進める
⑧ Eclipseを再起動する

インストールとEclipseの再起動が完了すると、メソッドにカーソルを当てて F3 を押下し対象ソースへ遷移する際、ソースファイルがない状態でもデコンパイルされたソースコードが表示されるようになります。

JD-EclipseをインストールしてEclipseを再起動してもソースコードが表示されない場合、拡張子が .class のファイルを開くためのビューア関連付け設定が適切でない可能性があります。

このように Class File Editor で開かれてしまう場合は、次の手順でEclipseのファイル関連付け設定を変更します。( )
① 上部のメニューから Window を選択
② Preferences を押下
③ 開いたウィンドウのサイドメニューより General > Editors > File Associations と進み
 「*.class” : Eclipse “Class File Viewer」を選択
④ Add.. を押下
⑤ 開いたウィンドウから JD Class File Viewer を選択
⑥ OK を押下

⑦ JD Class File Viewer を選択して Default を押下
⑧ JD Class File Viewer に (default) が付いたことを確認して Apply and Close を押下

ただし、JD-Eclipseを使えばソースファイルがなくてもクラスファイルの内容を確認することができますが、完全なソースコードを復元できるわけではないため、元のソースファイルがある場合は、 を行うほうが適切です。

  
  
  
  



