現在地 HOME > 掲示板 > IT4 > 1007.html ★阿修羅♪ |
|
Tweet |
(回答先: キーワードは、コンパイルと逆コンパイルのようです。 投稿者 クエスチョン 日時 2004 年 2 月 19 日 07:44:50)
クエスチョンさん、御教示有り難うございます。
次のように理解しました。
1.ソースコードはテキストファイルであり、これを機械語に変換(コンパイル)するとファイルサイズは遥かに小さくなる。(40GBのものでもCD‐ROM1枚に収まる程度に)
2.しかし、CD‐ROMに収められた機械語を元のテキストファイルのソースコードに変換(逆コンパイル)するのは非常に難しい。
面白いですね。私でも機械語だとかコンパイルだとかの言葉くらいは聞いたことがありました。でも、WindowsのCD‐ROMに入っているのが機械語だということは始めて知りました。
e‐Wordsで逆コンパイルを検索してみました。
逆コンパイル 【decompile】
機械語で書かれたオブジェクトコードを、コンパイラ型言語によるソースコードに変換すること。そのためのソフトウェアは逆コンパイラと呼ばれる。
通常、機械語への変換時に元のソースコードにあった変数名などが失われていることが多く、また、コンパイラ型言語はアセンブリ言語と違って機械語と一対一に対応しないため、完全に元のソースコードが再現されるわけではない。
著作権保護などの理由から、利用規定などで逆コンパイルを禁じているソフトウェアも少なくない。Javaで開発されたプログラムは逆コンパイルされやすい構造であることが知られており、逆コンパイル対策ソフトも開発されている。
結局、「コンパイラ型言語はアセンブリ言語と違って機械語と一対一に対応しないため、完全に元のソースコードが再現されるわけではない」し、更にMicrosoftはWindowsの「逆コンパイルを禁じている」と考えておけばいいのでしょうか。
そして、今回もれたとされるWindowsのソースコードの一部とされるものが元々のソースコードとピッタリ一致しているとすれば、それは機械語を逆コンパイルしたものではなく、ソースコードそのものが漏洩したものだ、ということなんでしょうね。
また、御指導ください。