「コンパイラ」と「逆コンパイラ」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| ソースコード | 人間語で書いたプログラムの元ネタ |
| 機械語 | コンピュータさんが分かる言葉 |
| コンパイル | ソースコードをコンピュータさんが分かる言葉に翻訳する作業 |
| 逆コンパイル | 機械語を無理やり人間語に翻訳して、プログラムからソースコードを取り出す作業 |
プログラムを作って動かすまでの一般的な流れは
1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従って、コンピュータさんが お仕事する
です。

コンピュータさんは人間語が分かりません。

人間様はコンピュータさんの言葉が分かりません。

プログラムは人間様が作るものです。
そこで最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これをやれ」な命令を人間語で書くのです。

次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に お仕事をするのは、コンピュータさんですからね。
コンピュータさんが分かる言葉に変換する必要があるのです。

コンピュータさんが分かる言葉に翻訳したので、コンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。

かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| コンパイラ | ソースコードをコンピュータさんが分かる言葉に翻訳するのが仕事のプログラム |
| 逆コンパイラ | プログラムからソースコードを取り出すときに使うソフト |
似ているところ
どちらもプログラムの話で出てくる翻訳(変換)作業をやってくれるプログラムです。
違うところ
やることが反対です。
コンパイラは人間語を機械語に翻訳するプログラムです。
コンパイラさんがお仕事すると、ソースコードを基にして実際のプログラムが作られます。

逆コンパイラは機械語を人間語に翻訳するプログラムです。
逆コンパイラさんがお仕事すると(成功すれば)実際のプログラムからソースコードを取り出せます。







