适用于客户 PC 上的 32 位 MFC 应用的 Windows Defender 阻止安装程序 (MSI)

问题描述

支持基于 MFC 的 32 位应用程序。为了向客户部署,通过 Visual Studio 2015 创建了 MSI 安装程序文件我有一些客户报告说,由于 Microsoft Defender 报告了严重警告,因此无法安装应用程序:

漏洞利用:O97M/CVE-2017-11882.JR!MTB

就我而言,norton Internet Security 显示所有文件都是干净的。 MalwareBytes 还显示所有文件都是干净的。如何防止此警告出现在我的客户端?

解决方法

数字签名:即使您的原始设置不是 - 或者您自己的设置可能包含真正的恶意软件或虚假的积极的。正如其他人所说,数字签名会有所帮助。数字签名可验证供应商提供的设置是否未更改。 Certificates are not 100% reliable,如果您获得 EV certificate“扩展验证证书”),它们也会很贵。

Signtool.exe:请参阅这个旧答案:Odd 'Program name' when installing signed msi installer。对于临时签名,我想您可以尝试 the signwizard as shown here。对于构建自动化,您需要完整的命令行。我有一段时间没有测试过了,maybe try this answer


警告:小心不要签署恶意软件!明显地。然后你有:签名恶意软件。从这个意义上说,它被证明——甚至被证明——来自你。 Irony


VirusTotal.com:作为第一步,您应该通过压缩并上传到 virustotal.com 对所有二进制文件运行扫描。这是对恶意软件和误报的筛查。有时我会尝试the Kaspersky checker tooESET 为您的计算机提供免费扫描功能(不是上传的文件):https://www.eset.com/int/home/online-scanner/ 和一个可以帮助诊断任何计算机上潜在感染的 "SysInspector" tool

SmartScreen:Windows Defender 包括 SmartScreen - 一种基于信任的功能,可标记未知、未签名和被视为不安全的设置。以下是一些信息:Windows Installer,Digital Certificates and SmartScreen

查看这些现有答案:


Process Explorer:来自 Sysinternals / Microsoft 的 Process Explorer 的一个漂亮功能是能够扫描您计算机上的每个进程并从工具内部使用 VirusTotal.com。 See this video。这是该工具运行的屏幕截图 - 它发现了在 PC 上运行的恶意软件:

Process Explorer


链接:

,

感谢所有的想法。

通过将此命令添加到“PostBuildEvent”进行签名,问题似乎消失了

"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" 符号 /a $(BuiltOuputPath)