2021年8月28日土曜日

VS Executable File に潜む 個人情報

あちゃ~。
筒抜け ... 。
Relese に作られた .exe を公開すると、
その中には ... 。


標準設定のまま、Visual Studio で作られた 実行ファイル。
実は、pdb ファイルへの パス が格納されています。
pdb ファイルは実行時には不要なので、
添付せずに配布しても、
其の 実行ファイルの中には パス が記述されたまま。
パスと言う事は ... 。
分かりますね。
個人情報の一部になる訳で。
まぁ、
Local Account で運用している私ですから、
フルネームにはなら無い としても、
出来れば、隠蔽して置くに越した事はありません。

さて、対策を練らねば。

参考にさせて戴いたのが、こちら。
Visual StudioユーザーがReleaseビルドをするときに必ずやってほしい2つの設定
https://qiita.com/lainzero/items/27681ddc96638e33758b

まぁ、賛否両論の様相ですが、
ひとつの手段として覚えて置くのも 宜し かと。
但し、VB.net と C# とでは、タブの場所が異なりますので、
其の時には、探して下さいませ。

ふむふむ。

もうひとつの対策。
其れは、Build のし直し。

User Profile 配下の Folder で行っているが故の 結果 ですから、
別の場所に移して仕舞ったら? の発想です。

元々、私は、複数の環境でソースを遣り取りするのに、
USB メモリ等を使い、Robocopy を活用しています。
其の状態で( USB メモリ等から)、Solution/Project を開き、
Build の Clearn > Build と進めば、
例え、.pdb を生成する設定でも、
User Profile で無い場所の .pdb を参照する .exe (Executable) となる筈!。

  Source 類には、全く手を付けていないので、
  タイムスタンプ と 参照 pdb 情報 のみが異なる .exe の お出まし。

確かめて見ました。

メモ帳 notepad.exe を新規で開いて置いて、
其処に、無謀!にも、.exe を Drag & Drop します。
そして、
検索で app 実行ファイル名の拡張子 .exe を .pdb に置換した文字列を指定します。
該当箇所にジャンプする筈です。
結果は如何でしょうか?。
しめしめ ... の 心持ち。

Release Sub Folder に移動し、
必要なファイル群を選択した上で、
.zip 圧縮 すれば、配布ファイル の出来上がり。
.zip を 別の場所 に 移動させて、将来の変更 に備えましょう。

うん、此の手も有ったか!。


  嘗ては、自分の 公開名 と同じ ローカル アカウント を作り、
  其処へ Junction を貼って、Build し直し をしていましたが、
  態々、其処に配置する必要も無い ... と言う 発見 でした。
  まぁ、している事 は同じなので、進歩は無いですけれど ... 。



0 件のコメント:

コメントを投稿