比較的簡単に行えるようです。
もっとも、Visualなんとか や ドットなんとか(なんとか、ネットでしたっけ?)なども
中間コード形式の出力になるので、ソース生成しやすいという噂を目にした事が
あります。(噂をみた記憶なので、誤りかもしれません。)
Javaのデコンパイラについては、All about 掌田 津耶乃 さんガイドの
禁断の必殺技?「デコンパイラ」を使う が参考になるでしょう。
掌田さんの記事は、WindowsにJad をインストールする方法が紹介されています。
(他のツールについても解説があります。)
Gentoo-Linux の場合は jad-bin という portage(パッケージ)があり、
# emerge jad-bin
で、導入できます。
使い方は、掌田さんのページの通りなのですが、 .class ファイルがあるディレクトリで
$ jad hoge (← hoge.class の場合)
とすると、hoge.jad というソースができます。
自分で作った小さいjavaアプリを試してみたところ、見事にソースが復元されました。
final int の定義が末尾側にまとめられているなど、順番が入れ替わっているものも
ありますが、変数名もそのまま復元されています。
すごいですね。驚きの復元結果です。
これからは ソースコードを公開しなくても、jad で見てね。で済みそうなくらい。
一方、デコンパイル対策(?)用には、難読化ツールというもの、例えば、proguard
というツールがあります。
Gentoo の場合は
# emerge proguard
で導入できそうです(未確認)。
※ 2009.6.25 jad を jed と間違って書いていたのに気づいたので修正しました。
前の(今日に近い)記事 ← | 最新記事 | 【全目次】 | → 次(過去)の記事