逆コンパイラ
出典: フリー百科事典『ウィキペディア(Wikipedia)』
逆コンパイラ(ぎゃくこんぱいら、Decompiler)とは機械語で記述されたオブジェクトコードを解析し、人間にわかりやすいソースコードを作成するプログラムである。
[編集] 概要
人間がプログラムを作成するときはC言語やJavaといった高級言語を用い、それをコンパイラによって機械語へ翻訳することで、コンピュータが理解できるオブジェクトコードが作成される(コンパイル)。逆コンパイルとはその名の通り、オブジェクトコードを解析し、ソースコードを作成することであり、それを行うプログラムを逆コンパイラという。
「逆-」という名称が用いられているが、むろん完全にもとのソースコードが再現されるわけではなく、コメントや変数名はコンパイル時に完全に失われているため、元に戻すことは不可能である。しかしJavaの実行ファイルはかなり高い再現度でソースコードを作成することが出来る。
なお、ソフトウェアの開発元によっては、公開されているプログラムに対して、逆コンパイル等のリバースエンジニアリングを行うことを禁じている場合がある。
[編集] 主要な逆コンパイラ
- Reflector for .NET (Lutz Roeder's Programming.NET 内)
- REC - Reverse Engineering Compiler
- Boomerang オープンソースの逆コンパイラ
[編集] 関連項目
カテゴリ: コンパイラ | プログラミング | 構文解析 (プログラミング)