- ベストアンサー
実行ファイルからソースはみれる?
C言語の実行ファイルとDATファイル(?)という二つがあります。 それで実行できるみたいですが、実行ファイルからソースファイルを見ることはできないのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
C言語で作られた実行ファイルから、 C言語のソースコードを見ることは、実用的にはまず不可能です。 逆アセンブラというツールがあり、 アセンブラレベルで何をやっているか調べることはできます。 しかし、C言語で書かれたプログラムをアセンブラレベルで読んでも、 あまり理解はできないだろうと思います。 C言語のコンパイルの場合、 ソースコードと実行ファイルの内容がきちっと対応するわけではありません。 そのため、ソースファイルに戻すのは困難です。 また、通常の実行ファイルには、 関数名・変数名の情報も入っていません。 仮にソースに戻せたとしても、関数名は仮の名前になります。 ひどく可読性が悪くなります。 実行ファイルをソースコードに戻すツール(逆コンパイラ)は、 一応あるらしいのですが、 実用レベルのものではなかったと思います。
その他の回答 (1)
- Pesuko
- ベストアンサー率30% (2017/6702)
回答No.1
実行ファイル=EXEですか? コンパイルしてるからみれません。 どうすればみれるか? 見れません。 ディスアッセンブリしても出てくるのはコンパイル時に最適化・マージなどされたCPU固有のアセンブラのみ。 ソースが簡単に見れれば、みんな直ぐにリバースエンジニアリングしてしまいます。
質問者
お礼
回答ありがとうございました。 そうですね。簡単にできたらまずいんですよね。
お礼
回答ありがとうございました。 なるほど、よくわかりました。 丁寧な説明ありがとうございました。