• ベストアンサー

実行ファイルからソースはみれる?

C言語の実行ファイルとDATファイル(?)という二つがあります。 それで実行できるみたいですが、実行ファイルからソースファイルを見ることはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.2

C言語で作られた実行ファイルから、 C言語のソースコードを見ることは、実用的にはまず不可能です。 逆アセンブラというツールがあり、 アセンブラレベルで何をやっているか調べることはできます。 しかし、C言語で書かれたプログラムをアセンブラレベルで読んでも、 あまり理解はできないだろうと思います。 C言語のコンパイルの場合、 ソースコードと実行ファイルの内容がきちっと対応するわけではありません。 そのため、ソースファイルに戻すのは困難です。 また、通常の実行ファイルには、 関数名・変数名の情報も入っていません。 仮にソースに戻せたとしても、関数名は仮の名前になります。 ひどく可読性が悪くなります。 実行ファイルをソースコードに戻すツール(逆コンパイラ)は、 一応あるらしいのですが、 実用レベルのものではなかったと思います。

usui323
質問者

お礼

回答ありがとうございました。 なるほど、よくわかりました。 丁寧な説明ありがとうございました。

その他の回答 (1)

  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.1

実行ファイル=EXEですか? コンパイルしてるからみれません。 どうすればみれるか? 見れません。 ディスアッセンブリしても出てくるのはコンパイル時に最適化・マージなどされたCPU固有のアセンブラのみ。 ソースが簡単に見れれば、みんな直ぐにリバースエンジニアリングしてしまいます。

usui323
質問者

お礼

回答ありがとうございました。 そうですね。簡単にできたらまずいんですよね。