「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

「逆コンパイル」と「逆コンパイラ」の違い

スポンサーリンク

予備知識


用語意味
ソースコード人間語で書いたプログラムの元ネタ
機械語コンピュータさんが分かる言葉
コンパイルソースコードをコンピュータさんが分かる言葉に翻訳する作業
コンパイラソースコードをコンピュータさんが分かる言葉に翻訳するのが仕事のプログラム

プログラムを作って動かすまでの一般的な流れは

1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従って、コンピュータさんが お仕事する


です。


「逆コンパイル」と「逆コンパイラ」の違い1

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


「逆コンパイル」と「逆コンパイラ」の違い2

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


「逆コンパイル」と「逆コンパイラ」の違い3

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


「逆コンパイル」と「逆コンパイラ」の違い4

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


「逆コンパイル」と「逆コンパイラ」の違い5

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


「逆コンパイル」と「逆コンパイラ」の違い6

かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。

この話における、ソースコードを機械語に翻訳する作業がコンパイルです。


「逆コンパイル」と「逆コンパイラ」の違い7

ソースコードを機械語に翻訳してくれるプログラムがコンパイラです。


「逆コンパイル」と「逆コンパイラ」の違い8

それぞれの用語の意味


用語意味
逆コンパイル機械語を無理やり人間語に翻訳して、プログラムからソースコードを取り出す作業
逆コンパイラプログラムからソースコードを取り出すときに使うソフト

似ているところ


どちらも、実際のプログラムからソースコードを(無理やり)取り出すときのあれやこれやです。
機械語を無理やり人間語に翻訳することでソースコードを取り出します。


「逆コンパイル」と「逆コンパイラ」の違い9

違うところ


「行為」か「プログラム」かの違いです。

逆コンパイルは実際のプログラムからソースコードを(無理やり)取り出す「行為」です。
逆コンパイルすると(成功すれば)プログラムからソースコードを取り出せます。


「逆コンパイル」と「逆コンパイラ」の違い10

逆コンパイラは逆コンパイルしてくれる「プログラム」です。
逆コンパイラは機械語を無理やり人間語に翻訳してくれます。
(成功すれば)プログラムからソースコードを取り出せます。


「逆コンパイル」と「逆コンパイラ」の違い11

備考


「逆」は日本語ですね。
「compiler(コンパイラ)」は「compile(コンパイル)」+「er」です。
「compile(コンパイル)」の意味は「1つに集める」とか「編集する」とかです。
接尾辞「er」を付けると「~する人」とか「~するもの」的な意味になります。
「逆に編集する」のが逆コンパイルで「逆に編集するやつ」が逆コンパイラです。


スポンサーリンク
書籍画像063
書籍画像052


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック
ソフトウェア開発現場の「失敗」集めてみた。 42の失敗事例で学ぶチーム開発のうまい進めかた