
■ 逆コンパイル
Javaのclassファイルの中身を見たくなりました(別に必然性はないんだけど)。
開発はEclipse(Pleiades)を使っていて、最初からJD-Eclipseなる逆コンパイルするプラグインが入っているようなので、classファイルをフォルダに突っ込めば見れる気もするのですが、もっと手軽に見たい所です。
何かないかと思って探してみると、JD-GUIなるソフトが使えそうです。
■ JD-GUI
まず、JD-GUIで検索して出て来た結果からダウンロードサイト(http://jd.benow.ca/)を開きます。
そして、JD-GUI と表示されている辺りの「Download」をクリックします。

何やら色々と表示されたのですが、それらしいやつ(私のパソコンがWindowsなので、コレで良いはず)をクリックしてダウンロードします。


ダウンロードしたzipファイルを解凍するとフォルダが出来たので、その中の「jd-gui.exe」をダブルクリックします。

すると、コーヒーカップの絵が表示されて、しばらくすると画面が表示されました。


■ 使ってみた
ここから、実際に試してみます。なお、ファイル名とか公開したくなかったので、隠しています。
classファイルをドラッグ&ドロップで画面上に持っていきます(もちろん、Fileメニューから開くことも出来るようです)。

パソコンのスペックのせいか、暫く反応が無かった(Windowsの良くある処理中のフリーズ状態にもならなかった)のですが、放置していたら表示してくれました。

画面の左側がclassファイルがあるフォルダのツリーで、右側が逆コンパイルされたソースコード。ま、良くある構成ですね。
ってよく見たらソースコード名が隠しきれていない。・・・ま、別に良いか。
■ 使ってみて
目的は達成できましたが、少し疑問点もあります。
上記で逆コンパイルに成功したclassファイルを、ビルドパスとまったく関係ない場所(例えば、Dドライブ直下とか)に置いて逆コンパイルしようとすると、「 // INTERNAL ERROR // 」と表示されました。

期待していたのは、対象のclassファイル1個からソースを復元することだったのですが、何が悪いのか上手く行きませんでした。
あと、表示されたソースコードをコピーしてテキストエディタに貼り付けたのですが、全角文字(つまり、日本語)が文字化けしてしまいました。
これは文字コードの関係でしょうから、少し工夫すれば行けそうですが、特に必要もなかったので調査していません。
■ 後書き
何でこんなことをしているのかと言うと、とある開発案件で共通処理を行うクラスを作った影響です。最近は便利になりましたが、それでも一つのソースを複数人で編集するのは面倒です。
ってことで、他の人が修正完了するまで待っていたのですが、その中の処理を見たくなったのです。
・・・いや、素直にソースを貰えば良い話なのは分かってますが、なんというか、ずっと残業しているような人に緊急性の無いことを頼むのはちょっと気が引けまして。
最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/
--- blog end ---
スポンサードリンク


