Re: バージョン3.20以降でウィルス誤検出 ( No.1 ) |
- 名前:ギウ 日時:2020/08/17 07:40
(心の声:セキュリティ系ソフト自体が一番厄介なウイルスですよね…)
|
Re: バージョン3.20以降でウィルス誤検出 ( No.2 ) |
- 名前:管理人 日時:2020/08/17 23:03
> 過去ログで、DXライブラリがスパムウェアやランサムウェアとして誤検出されることについて
> 「DXライブラリがプログラム内部にバイナリデータを持っていることが大きな原因」とありましたが
> それと同じ原因でしょうか?
原因は少し異なるかもしれません、以前までは圧縮したバイナリデータをそのまま
プログラム内部に持っていたので様々なセキュリティソフトでウイルスの誤検出が
発生しましたが、バイナリデータをメールの添付ファイルと同じ Base64 という
テキストで表現できる形に変更したところ、ほぼ誤検出が無くなりました
なので今回はバイナリデータではないどこかのコードがウイルス扱いされた可能性が高いです
> セキュリティソフトの誤認識の問題だと思うので、対処は難しいかもしれませんが
> Releaseビルド時は「x64」でビルドする、またはバージョン3.19f以前のDXライブラリを使う、など以外で
> こちらで対応できることはあるでしょうか?
確実に対処できるかはわかりませんが、一応試せるものはあります…
VisualStudio 2019 で使用するDXライブラリは VisualStudio 2015 でコンパイルしたものなので、
こちら↓の『DXライブラリのソースをまるごとコンパイルするプロジェクト』を参考に
https://dxlib.xsrv.jp/temp/DxLibSourceTest_WithUseCLib.zip
sereparuさんが開発中のプロジェクトでDXライブラリのソースをまるごとコンパイルして使用するようにすれば、
コンパイルラが VisualStudio 2015 のものから VisualStudio 2019 のものに変わり、
作成される実行ファイルの中身も機械語レベルでは変化するので、McAfreeにもウイルスとして
誤検出されなくなるかもしれません
( ただ、今度は別のセキュリティソフトで誤検出されるという可能性はありますが… )
|
Re: バージョン3.20以降でウィルス誤検出 ( No.3 ) |
- 名前:sereparu 日時:2020/08/18 01:35
管理人さん
いつも迅速なご回答、誠にありがとうございます。
「DxLibSourceTest_WithUseCLib」のプロジェクトに開発中のソースをコピーして
DXライブラリごとコンパイルしてみたところ、「x86」のReleaseビルド時でも
ウィルスと認識されないことを確認しました。
なので、管理人さんのご指摘の通り、現在公開されているDXライブラリが
VisualStudio 2015 でコンパイルされていることが原因なのではないかと思います。
とりあえずこの方法で対応していこうと思いますが
これまで「3Dモデル機能&ソフトウエアレンダリング機能無しパッケージ」版の
DXライブラリを使用していたので、「DxLibSourceTest_WithUseCLib」のソースを使用すると
exeファイルのサイズが大きくなってしまいます。
なので、大変お手数ですが、次回のバージョン以降(もしくは現バージョン)で
VisualStudio 2019 でコンパイルされたDXライブラリを公開していただくことは可能でしょうか?
|
Re: バージョン3.20以降でウィルス誤検出 ( No.4 ) |
- 名前:sereparu 日時:2020/08/18 02:07
すみません。
ウィルスと認識される原因ですが、別の原因があることが分かりました。
これまで開発中のプロジェクトのフォルダはDドライブに保存していたのですが
プロジェクトをCドライブに移動したところ、「x86」でReleaseビルドしても
ウィルスと認識されなくなりました。
なので、プロジェクトをどこに作成するかの問題のようです。
VisualStudio 2019 はCドライブにインストールして
プロジェクトをDドライブに作成していたのが問題だったかもしれません。
とりあえず、プロジェクトをCドライブに作成するようにして対応したいと思います。
こちらの開発環境の問題でお騒がせしてしまい申し訳ありません。
ただ、先ほど検証に使用した「DxLibSourceTest_WithUseCLib」のプロジェクトは
Cドライブ、Dドライブどちらで作成しても、ウィルスと認識されなかったので
VisualStudio 2015、2019 のどちらでコンパイルされたか、ということも一応関係はあると思います。
|
Re: バージョン3.20以降でウィルス誤検出 ( No.5 ) |
- 名前:管理人 日時:2020/08/19 00:28
> これまで開発中のプロジェクトのフォルダはDドライブに保存していたのですが
> プロジェクトをCドライブに移動したところ、「x86」でReleaseビルドしても
> ウィルスと認識されなくなりました。
なんと… (・・;;
> ただ、先ほど検証に使用した「DxLibSourceTest_WithUseCLib」のプロジェクトは
> Cドライブ、Dドライブどちらで作成しても、ウィルスと認識されなかったので
> VisualStudio 2015、2019 のどちらでコンパイルされたか、ということも一応関係はあると思います。
ご情報ありがとうございます
恐らく来年にはまた VisualStudio の新しいバージョンが出ると思いますので、VisualStudio 2015 で
コンパイルした libファイルが次期バージョンの VisualStudio で使用できなかったら
次期バージョンでコンパイルした libファイルを追加したいと思います
( 『プロジェクトに追加すべきファイル_VC用』の容量が既に 617MB なので、なるべく同梱する
libファイルを増やしたくなかったりします (・・;; )
|
Re: バージョン3.20以降でウィルス誤検出 ( No.6 ) |
- 名前:sereparu(解決) 日時:2020/08/19 01:12
> 恐らく来年にはまた VisualStudio の新しいバージョンが出ると思いますので、VisualStudio 2015 で
> コンパイルした libファイルが次期バージョンの VisualStudio で使用できなかったら
> 次期バージョンでコンパイルした libファイルを追加したいと思います
> ( 『プロジェクトに追加すべきファイル_VC用』の容量が既に 617MB なので、なるべく同梱する
> libファイルを増やしたくなかったりします (・・;; )
承知しました。ありがとうございます。
libファイルの容量が増えてしまうのも問題ですね。
そもそも VisualStudio のコンパイルのバージョンが原因かどうかも不明なので
なるべく現バージョンのDXライブラリを使っていこうと思います。
一応の解決策は見つかったので解決といたします。
ありがとうございました。
|
Re: バージョン3.20以降でウィルス誤検出 ( No.7 ) |
- 名前:sereparu 日時:2021/04/02 01:21
管理人さん
すみません。
本件について、ずいぶん前に解決済みと報告しましたが
実際は解決していないことに最近気付きました。
「プロジェクトをCドライブに移動したらウィルスと誤認識されなくなった」と書きましたが
これは勘違いでした。
誤った情報を書いてしまい申し訳ありません。
軽量化パッケージを使用した場合は、プログラムを実行した瞬間に
ウィルス判定されますが、通常版のパッケージや
DXライブラリのソースをまるごとコンパイルするプロジェクトで作成した場合は
プログラムを一定時間実行すると、時間差でウィルス判定されるようです。
プログラム実行直後にウィルス判定されなかったので
解決したと勘違いしていました。
最近のスレッドで「Debug」「x86」のビルドでウィルス判定される件について
「x86版ではインラインアセンブラでコードを組んでいる箇所があった」ことが
原因のものがありましたが、Release ビルドでも同様の原因は考えられるでしょうか?
ttps://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=5103
既に書きましたが、3.19f 以前ではウィルス判定されないので
3.19f から 3.20 に変わるタイミングで、上記のような原因に当たる修正が
加わった可能性がないでしょうか?
ライブラリの更新履歴を見ると、3.20 で大きく変わった変更は
「DXアーカイブファイルの仕様を変更」がありますが
その辺りが関係しているかもしれません。
お手すきの際で構いませんので、上記の仕様変更に関して
何処か問題がなかったか、ご確認いただけますでしょうか?
|
Re: バージョン3.20以降でウィルス誤検出 ( No.8 ) |
- 名前:管理人 日時:2021/04/02 02:17
|
Re: バージョン3.20以降でウィルス誤検出 ( No.9 ) |
- 名前:sereparu 日時:2021/04/02 14:52
管理人さん
ご回答ありがとうございます。
暫定最新版でもウィルス判定されるので、インラインアセンブラが原因ではないようです。
やはりDXAファイルの仕様変更が原因かもしれません。
ただ、「x64」で Release ビルドした場合は、ウィルス判定されないので
「x86」のみの問題のようです。
バージョン 3.20 以降は旧バージョンの「DxaEncode.exe」で
作成したDXAファイルは使用できませんが、原因を追究するために
暫定的に、現在の最新版のソースでDXAファイルの仕様のみを 3.19f 以前に
戻せるよう仕様変更していただくことは可能でしょうか?
(例えば、DXAファイルの仕様を 3.19f以前、3.20以後のどちらを使用するか
選択できるような関数を作る、など)
個人的に、DXAファイルを解析されて中身を見られることには抵抗はありません。
むしろ、ウィルスと判定されやすいことの方がリスクだと思っています。
一応、「x64」では問題ないので、優先度は低めです。
よろしくお願いいたします。
|
Re: バージョン3.20以降でウィルス誤検出 ( No.10 ) |
- 名前:管理人 日時:2021/04/03 02:09
> バージョン 3.20 以降は旧バージョンの「DxaEncode.exe」で
> 作成したDXAファイルは使用できませんが、原因を追究するために
> 暫定的に、現在の最新版のソースでDXAファイルの仕様のみを 3.19f 以前に
> 戻せるよう仕様変更していただくことは可能でしょうか?
> (例えば、DXAファイルの仕様を 3.19f以前、3.20以後のどちらを使用するか
> 選択できるような関数を作る、など)
3.19以前のバージョンのDXアーカイブの暗号化はアメリカの輸出管理規制という法律に
抵触するというご指摘が以前あったので、関数で切り替える、という対応はできません
( 詳細はこちらをご覧ください )
< Android版:DXアーカイブの暗号化機能について >
https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=4534
< DxLibのDxArchiveの暗号化する機能とExport Administration Regulations 輸出管理規則 >
https://qiita.com/yumetodo/items/89af53d3cf8bc236de2f
なので #define で旧仕様を使用する定義を有効にして、自前でDXライブラリのコードを
コンパイルすれば旧仕様のDXアーカイブファイルのみ読み込めるようにできる、というような
対応でしたら可能です
|
Re: バージョン3.20以降でウィルス誤検出 ( No.11 ) |
- 名前:sereparu 日時:2021/04/03 11:06
管理人さん
ご回答ありがとうございます。
輸出管理規制の件、承知しました。
3.19以前の仕様は使わない方が良さそうですね。
「x64」でビルドするか、もしくは他の方法がないか検討してみます。
|