「逆コンパイル」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「逆コンパイル (decompile, デコンパイル) とは、コンパイルとは逆の行いをします。オブジェクトコードをソースコードに変換...」)
 
 
(同じ利用者による、間の1版が非表示)
行1: 行1:
[[逆コンパイル]] (decompile, デコンパイル) とは、コンパイルとは逆の行いをします。オブジェクトコードをソースコードに変換することです。そのため、逆コンパイルに用いられるプログラムは、逆コンパイラと呼ばれます。
+
[[逆コンパイル]] (decompile, デコンパイル) とは、コンパイルとは逆の行いをします。オブジェクトコードをソースコードに変換することです。そのため、[[逆コンパイル]]に用いられるプログラムは、逆コンパイラと呼ばれます。[[マルウェア]]解析、静的なプログラムの解析などを行う目的で、逆コンパイルされます。
  
 
'''読み方'''
 
'''読み方'''
行12: 行12:
  
 
ソースコードは、コンパイラがコンパイルすることにより、オブジェクトファイル(実行ファイル)ができます。
 
ソースコードは、コンパイラがコンパイルすることにより、オブジェクトファイル(実行ファイル)ができます。
オブジェクトファイルは、逆コンパイラで逆コンパイルすることで、ソースコードになります。図式すると以下の通りです。
+
オブジェクトファイルは、逆コンパイラで[[逆コンパイル]]することで、ソースコードになります。図式すると以下の通りです。
 
  ソースコード(1) -> コンパイラ -> オブジェクトファイル -> 逆コンパイラ -> ソースコード(2)
 
  ソースコード(1) -> コンパイラ -> オブジェクトファイル -> 逆コンパイラ -> ソースコード(2)
  

2014年12月7日 (日) 18:22時点における最新版

逆コンパイル (decompile, デコンパイル) とは、コンパイルとは逆の行いをします。オブジェクトコードをソースコードに変換することです。そのため、逆コンパイルに用いられるプログラムは、逆コンパイラと呼ばれます。マルウェア解析、静的なプログラムの解析などを行う目的で、逆コンパイルされます。

読み方

逆コンパイル
ぎゃく こんぱいる
デコンパイル
でこんぱいる
decompile
でこんぱいる

概要

逆コンパイルは、プログラムの調査を行うときに、行います。 ソースコードは、持っていないが、オブジェクトファイルを持っているときに、オブジェクトのプログラムがどのように動作するのか、調査するときに、オブジェクトからプロプラム言語に変換します。

ソースコードは、コンパイラがコンパイルすることにより、オブジェクトファイル(実行ファイル)ができます。 オブジェクトファイルは、逆コンパイラで逆コンパイルすることで、ソースコードになります。図式すると以下の通りです。

ソースコード(1) -> コンパイラ -> オブジェクトファイル -> 逆コンパイラ -> ソースコード(2)

上記のソースコード(1)とソースコード(2)は、たいていの場合、完全な同一のソースコードにはなりません。

逆アセンブラ

マシン語からアセンブリ言語に逆コンパイルするツールは、逆アセンブラと呼ばれます。

関連項目