gcc(mingw) で dll ファイルを作成しました。アプリケーションを起動すると、Microsoft Security Essentials から次の通知が表示されます:
Security Essentials は、PC 上で認識できない項目を検出しました
なぜこれが私の DLL でのみ発生し、他の DLL では発生しないのでしょうか?
答え1
マイクロソフトには、偽陽性と偽陰性の送信また、ソフトウェア ベンダー向けのリソースもあります。設定タブから、これらのファイル タイプ (またはウイルスではないことがわかっている特定のファイル) を除外することもできます。
私の推測では、MS は一般的な DLL のハッシュと情報を取得していますが、あなたのものは珍しいものです。
答え2
MSEおよび他のすべてのウイルス対策製品は、ウイルスをウイルスシグネチャで認識します。このようなウイルス対策製品はそれぞれ、何千ものシグネチャを含むデータベースを使用します。シグネチャとは、ウイルスファイルをその特徴によって識別するパターン認識ルールです。バイナリハッシュウイルスの中には、ファイルを追加するもの、既存のシステム ファイルを変更するもの、また、レジストリを変更して存在を知らせるウイルスもあります。
詳細についてはウイルスシグネチャとは何ですか?。
MSE でこのメッセージを停止する最も簡単な方法は、[設定] タブに移動し、dll ファイルまたはそのフォルダーを [除外ファイルと場所] リストに追加することです。
また、MAPS で「上級メンバーシップ」を選択しているかどうかも確認してください。これにより、MSE は、分析する不明なアイテムを送信するよう自由に促すことができます。これを「基本メンバーシップ」に設定するか、メッセージが「参加したくない」と続く場合でも設定してください。
それ以外の場合は、DLLをMicrosoftに送信してみてください。サンプルを提出するこのページでは、dll が「既知の」dll に変換されることを期待していますが、あまり期待しないでください。