「逆コンパイル」とは|テクスタ辞書


逆コンパイルとは、機械語のオブジェクトコードを解析して、人間になじみのある形式で記述されているプログラミング言語に変換することを言います。逆コンパイルを行うプログラムのことを、「逆コンパイラ」と言います。

逆コンパイルの特徴

プログラミング言語で記述されていたものが機械語に変換されて実際に使われている場合に、これを逆コンパイルすることで、もとのプログラミング言語で記述されている内容を把握することも不可能ではありません。

ただし、コンパイルの過程で失われた情報までを逆コンパイルで自動的に変換できるわけではないので、完全にもとのプログラミング言語を再現するわけではありません。

逆コンパイルとリバースエンジニアリング

たいていの工業製品は、その製品を製造するのに必要な情報(たとえばその製品の詳細な設計図など)は公開されていません。こうした工業製品に使われている技術を分析・調査し、あるいは確認することをリバースエンジニアリングと言います。

商用で開発されたソフトウェア製品も一般の工業製品と同様、その大半は既にコンパイルされた実行ファイル等が提供されるくらいで、そのソフトウェアを開発するのに必要な情報(開発者が書いたソースコード)は公開されません。

そのソースコードを把握する手段となりうる逆コンパイルは、リバースエンジニアリングの手法の一つと言えます。