[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

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

逆コンパイル

pointこの用語のポイント

pointプログラムからソースコードを取り出すことだよ

pointコンパイルの逆だよ

スポンサーリンク

簡単に書くよ

逆コンパイルとは

できあがっているプログラムからソースコード(プログラムの元ネタ)を取り出すこと
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは、プログラムができあがるまでの流れから説明します。

プログラムを作る際には、まずソースコード(プログラムの元ネタ)を書きます。

逆コンパイル

このソースコードに対して「コンパイル」と呼ばれる作業を行います。
そうすると、ソースコードを元にして、実際のプログラムができあがります。

逆コンパイル2

大雑把ですが、これがプログラムを作る際の流れです。

ここで、コンパイルに注目してください。

逆コンパイル3

コンパイルで行った作業を完全に逆の手順で行えば、理屈上、プログラムをソースコードに戻せるはずです。

逆コンパイル4

このように、プログラムからソースコードに戻す作業が「逆コンパイル」です。
そのまんまなネーミングですね。
コンパイルの作業だから逆コンパイルです。

逆コンパイルする際には、一般的には専用のソフトを使います。
このソフトは「逆コンパイラ」と呼ばれます。

ただし、ソフトを使えば完全に元に戻せるかというと、そんなこともありません。
プログラミング言語によって、逆コンパイルしやすかったり、しにくかったりします。
ソフトの性能やプログラムの作り方によっても変わってくるでしょう。

お勉強や解析目的でやるのは問題ないと思います。
抽出したソースコードを流用する目的でやるのは、現実的ではないと思います。

抽出できるのは「それっぽいけど正しいか分からない」ソースコードです。
それを、そのまま使って実際のプログラムを作るのは、ちょっと怖いです。
実用に耐えるかという点で、疑問を感じます。

目的は人それぞれでしょうけどね。
個人的には解析目的で行う作業だと理解しています。

image piyo2

一言でまとめるよ

まぁ「逆コンパイル」って単語が出てきたら「プログラムからソースコードを取り出すことなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク