tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル同じソースでの実行ファイルの違い
記事No11227
投稿日: 2008/01/23(Wed) 17:01
投稿者じゃりてん
初めて利用させていただきます。

VB6で生成された実行ファイルが、作者が埋め込んだバージョン情報等以外で
「このソースから生成された」と確認する方法はないでしょうか?

全く同じ環境(時刻は違いますが)でコンパイルしても、生成される実行ファイルは、
ファイルサイズこそ同じですが微妙に差異があります。

また、なぜ差異が発生するのかご存じの方はいらっしゃいませんでしょうか?

今まで、気にしたこともなかったのですが、客先より
「納入したソースファイルでコンパイルしたら同じEXEが生成されない」
との問い合わせを受け、初めて気がつきました。
よろしくお願いします。

[ツリー表示へ]
タイトルRe: 同じソースでの実行ファイルの違い
記事No11230
投稿日: 2008/01/23(Wed) 20:30
投稿者じゃりてん
> 初めて利用させていただきます。
>
> VB6で生成された実行ファイルが、作者が埋め込んだバージョン情報等以外で
> 「このソースから生成された」と確認する方法はないでしょうか?
>
> 全く同じ環境(時刻は違いますが)でコンパイルしても、生成される実行ファイルは、
> ファイルサイズこそ同じですが微妙に差異があります。
>
> また、なぜ差異が発生するのかご存じの方はいらっしゃいませんでしょうか?
>
> 今まで、気にしたこともなかったのですが、客先より
> 「納入したソースファイルでコンパイルしたら同じEXEが生成されない」
> との問い合わせを受け、初めて気がつきました。
> よろしくお願いします。

追記です。
微妙な差異とは、できあがったEXEファイルを比較したときに、全く同じバイナリファイルではないと言う意味です。

[ツリー表示へ]
タイトルRe: 同じソースでの実行ファイルの違い
記事No11232
投稿日: 2008/01/23(Wed) 22:05
投稿者魔界の仮面弁士
> VB6で生成された実行ファイルが、作者が埋め込んだバージョン情報等以外で
> 「このソースから生成された」と確認する方法はないでしょうか?
基本的には「ありません」。

ActiveX プロジェクトの場合には、「インターフェイスの互換性が取れている」事を
確認することぐらいはできますが…。


> また、なぜ差異が発生するのかご存じの方はいらっしゃいませんでしょうか?
EXE 内の未使用エリア(?)に対して、不定な値(時刻情報やメモリ上のごみ等)が
含まれてしまうという話を聞いた事があります。。確認した事はありませんが。


気になるのであれば、VB6 の MSDN ライブラリの目次から
 [技術仕様書]-[技術仕様書 (日本語)]-[プラットフォーム]
を辿ると、EXE ファイルの内部形式について書かれているので、それをもとに、
どのエリアの情報が異なってしまうのか、調査してみては如何でしょう?

EXE 仕様については、ついでにこのあたりも。
http://codezine.jp/a/article/aid/412.aspx
http://codezine.jp/a/article/aid/419.aspx

[ツリー表示へ]
タイトルRe^2: 同じソースでの実行ファイルの違い
記事No11233
投稿日: 2008/01/23(Wed) 22:23
投稿者じゃりてん
> > VB6で生成された実行ファイルが、作者が埋め込んだバージョン情報等以外で
> > 「このソースから生成された」と確認する方法はないでしょうか?
> 基本的には「ありません」。
>
> ActiveX プロジェクトの場合には、「インターフェイスの互換性が取れている」事を
> 確認することぐらいはできますが…。
>
>
> > また、なぜ差異が発生するのかご存じの方はいらっしゃいませんでしょうか?
> EXE 内の未使用エリア(?)に対して、不定な値(時刻情報やメモリ上のごみ等)が
> 含まれてしまうという話を聞いた事があります。。確認した事はありませんが。
>
>
> 気になるのであれば、VB6 の MSDN ライブラリの目次から
>  [技術仕様書]-[技術仕様書 (日本語)]-[プラットフォーム]
> を辿ると、EXE ファイルの内部形式について書かれているので、それをもとに、
> どのエリアの情報が異なってしまうのか、調査してみては如何でしょう?
>
> EXE 仕様については、ついでにこのあたりも。
>  http://codezine.jp/a/article/aid/412.aspx
>  http://codezine.jp/a/article/aid/419.aspx

ご助言、有り難う御座います。
早速、調べてみます。

[ツリー表示へ]