人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VisualStudioでビルドしたexeファイルの内容について質問です。

C++プログラミング1年程度の初心者です。私はVSで空のプロジェクトからopenGLを利用した簡単なゲームプログラムを作っています。
最近ふと疑問に思ったのですが、ビルドと同時に作られるexeファイルの中には、私の情報(VisualStudioの固有情報?)等が入っているのでしょうか?このままネットで配布しても大丈夫なのでしょうか。

そもそも普通そこから情報を引き出すのは難しいだろうとは思うのですが、原理的にそもそも固有の情報が含まれているのか、いないのかが知りたいのです。

コンパイルしているのはあくまでソースコード自体だろうと想像しているのですが、確信がもてません。ご存知の方、解説をお願いいたします…。

●質問者: onigiriTurnA
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● cx20
●100ポイント ベストアンサー

一般的な Windows プログラムの場合、EXE に含まれる情報としては

などが、あります。

以下は、取得できる情報の例です。

f:id:cx20:20140122233543p:image

f:id:cx20:20140122234305p:image

f:id:cx20:20140122234306p:image

PE ヘッダ(コンパイル時のタイムスタンプ、リンカバージョンなど)については、特殊なツールを用いれば、変更することが可能ですが、知られて困るような情報はあまり無いかと思います(作成したコンパイラのバージョンが知られるのがまずい等、特殊な事情があれば、話は別ですが。。。)

リソース情報については、プロジェクト内に「*.rc」ファイルが存在しなければ、情報は付与されません。

また、デバッグ情報(のパス情報)についてはプロジェクトの設定で「デバッグ情報の生成」を「いいえ」にすれば、パス情報は出力されません。
f:id:cx20:20140123000543p:image

以下は、参考情報です。

<PE ヘッダに関する情報>
■ EXEファイルの内部構造(PEヘッダ) (1/3):CodeZine
http://codezine.jp/article/detail/412

■ Dependency Walker (depends.exe) Home Page
http://www.dependencywalker.com/

■ PE形式バイナリ変換ツール
http://coexe.web.fc2.com/hackbin.html

<リソース情報に関する情報>
■ Resource Hacker
http://www.angusj.com/resourcehacker/

■ ResEdit - 窓の杜ライブラリ
http://www.forest.impress.co.jp/library/software/resedit/

<デバッグ情報に関する情報>
■ プログラム データベース ファイル (C++)
http://msdn.microsoft.com/ja-jp/library/yd4f8bd1(v=vs.100).aspx


cx20さんのコメント
「PE ヘッダ情報の例」は、Visual C++ 付属ツール「dumpbin.exe」の実行結果です。 <使用方法> dumpbin /HEADERS <filename>

onigiriTurnAさんのコメント
なるほど、実は簡単に情報を抽出できるのですね。丁寧に解説してくださりありがとうございます!大変参考になりました。

質問者から

なるほど、実は簡単に情報を抽出できるのですね。丁寧に解説してくださりありがとうございます!大変参考になりました。


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ