「逆コンパイル」の版間の差分
提供: セキュリティ
(ページの作成:「逆コンパイル (decompile, デコンパイル) とは、コンパイルとは逆の行いをします。オブジェクトコードをソースコードに変換...」) |
|||
(同じ利用者による、間の1版が非表示) | |||
行1: | 行1: | ||
− | [[逆コンパイル]] (decompile, デコンパイル) | + | [[逆コンパイル]] (decompile, デコンパイル) とは、コンパイルとは逆の行いをします。オブジェクトコードをソースコードに変換することです。そのため、[[逆コンパイル]]に用いられるプログラムは、逆コンパイラと呼ばれます。[[マルウェア]]解析、静的なプログラムの解析などを行う目的で、逆コンパイルされます。 |
'''読み方''' | '''読み方''' | ||
行12: | 行12: | ||
ソースコードは、コンパイラがコンパイルすることにより、オブジェクトファイル(実行ファイル)ができます。 | ソースコードは、コンパイラがコンパイルすることにより、オブジェクトファイル(実行ファイル)ができます。 | ||
− | + | オブジェクトファイルは、逆コンパイラで[[逆コンパイル]]することで、ソースコードになります。図式すると以下の通りです。 | |
ソースコード(1) -> コンパイラ -> オブジェクトファイル -> 逆コンパイラ -> ソースコード(2) | ソースコード(1) -> コンパイラ -> オブジェクトファイル -> 逆コンパイラ -> ソースコード(2) | ||
2014年12月7日 (日) 18:22時点における最新版
逆コンパイル (decompile, デコンパイル) とは、コンパイルとは逆の行いをします。オブジェクトコードをソースコードに変換することです。そのため、逆コンパイルに用いられるプログラムは、逆コンパイラと呼ばれます。マルウェア解析、静的なプログラムの解析などを行う目的で、逆コンパイルされます。
読み方
- 逆コンパイル
- ぎゃく こんぱいる
- デコンパイル
- でこんぱいる
- decompile
- でこんぱいる
概要
逆コンパイルは、プログラムの調査を行うときに、行います。 ソースコードは、持っていないが、オブジェクトファイルを持っているときに、オブジェクトのプログラムがどのように動作するのか、調査するときに、オブジェクトからプロプラム言語に変換します。
ソースコードは、コンパイラがコンパイルすることにより、オブジェクトファイル(実行ファイル)ができます。 オブジェクトファイルは、逆コンパイラで逆コンパイルすることで、ソースコードになります。図式すると以下の通りです。
ソースコード(1) -> コンパイラ -> オブジェクトファイル -> 逆コンパイラ -> ソースコード(2)
上記のソースコード(1)とソースコード(2)は、たいていの場合、完全な同一のソースコードにはなりません。
逆アセンブラ
マシン語からアセンブリ言語に逆コンパイルするツールは、逆アセンブラと呼ばれます。