Androidの普及に伴い、Javaソースコード難読化ツールへの注目が高まっている。Androidアプリをリバースエンジニアリングの悪用から守るためである。 Androidアプリは、Java言語によるソースコードを、実行環境であるDalvik仮想マシン用の中間コードに変換して配布する。 このような中間コードと仮想マシンを用いる実行環境には強力なメリットがある一方、ネイティブコード(機械語)に比べてリバースエンジニアリングが非常に容易であるという特性がある。中間コードからソースコードを復元する「逆コンパイラ(デコンパイラ)」と呼ぶツールがあるためだ。 究極の問題解析ツール、逆コンパイラJD-Eclipseとは (1/2) - @IT @IT:Java TIPS -- Eclipseで逆コンパイルを行う 無償の逆コンパイラ「ILSpy」を利用するには?[C#] - @IT リバースエンジニアリ