逆コンパイル

プログラム関連の用語

「コンパイル」とは?仕組みとメリット

コンパイルとは、プログラミング言語で記述されたソースコードを、コンピューターが直接実行できる機械語のオブジェクトコードに変換することです。コンパイルは、コンパイラーと呼ばれるソフトウェアによって行われます。コンパイラーは、ソースコードを構文解析し、意味解析を行い、最終的にオブジェクトコードを生成します。オブジェクトコードは、コンピューターのCPUが実行できる形式になっており、コンピューターが直接実行することができます。コンパイルによって、プログラミング言語で記述されたソースコードを、コンピューターが実行できる形式に変換することができ、プログラムを実行することができるようになります。
プログラム関連の用語

逆コンパイルとは?

逆コンパイルとは、機械語で記述されたオブジェクトコードを、逆コンパイラーを用いて人間に理解しやすいプログラミング言語で記述されたソースコードに変換することである。リバースエンジニアリングの一種であり、コンパイルの逆の操作である。デコンパイルとも呼ばれる。逆コンパイルは、さまざまな目的で行われる。たとえば、ソフトウェアの動作を理解し、バグやセキュリティホールを見つけ出すために使用される。また、他人のソフトウェアを盗用して自分のソフトウェアに組み込むために使用されることもある。逆コンパイルは、比較的容易に実行できるが、その正確性は完全ではない。これは、オブジェクトコードが、ソースコードとは異なる形式でデータと命令を表現しているためである。そのため、逆コンパイルされたソースコードは、元のソースコードと完全に一致しない場合がある。