C++ 如何避免将.exe标识为;“文件可能很危险”;通过防病毒?

C++ 如何避免将.exe标识为;“文件可能很危险”;通过防病毒?,c++,security,certificate,code-signing,antivirus,C++,Security,Certificate,Code Signing,Antivirus,我正在构建的.exe当前被Avast识别为“文件可能很危险”。这不是一个误报,因为杀毒软件最终没有发现任何病毒,只是一个警报,说这个文件“很少下载” 我已经联系了Avast,但他们似乎没有提供解决方案,只是向他们发送了用于白名单的.exe 我尝试过一些事情,但没有解决问题: 在Visual C++中有适当的资源.RC/文件,其中详细介绍了.exe:块“StReFieleFipe”、“值”、“公司名称”、“MyPoice 0”等。 使用makecert,certutil,signtool,如本

我正在构建的.exe当前被Avast识别为“文件可能很危险”。这不是一个误报,因为杀毒软件最终没有发现任何病毒,只是一个警报,说这个文件“很少下载”

我已经联系了Avast,但他们似乎没有提供解决方案,只是向他们发送了用于白名单的.exe

我尝试过一些事情,但没有解决问题:

  • 在Visual C++中有适当的<代码>资源.RC/文件,其中详细介绍了.exe:<代码>块“StReFieleFipe”、“值”、“公司名称”、“MyPoice 0”<代码>等

  • 使用
    makecert
    certutil
    signtool
    ,如本答案所述:

不起作用的事情:

  • 添加到本地avast排除(我不能要求每个客户都这样做!)

  • 为每个新的.exe版本重做“提交文件到Avast实验室进行扫描”对于每个新版本,都必须将.exe重新提交给Avast(以及所有其他50多个防病毒软件!),这是不可扩展的。

  • 每年为代码签名支付200美元(这可能有效,但我觉得仅仅为了被列入白名单而每年支付xxx美元赎金是不公平的)

是否有常见的解决方案可以帮助避免“很少下载的文件/文件可能可疑”的防病毒警报?

注意:我已经读过了,但它并没有真正涵盖这里的主题


注2:我已经阅读了,等等。但它目前没有帮助。

这取决于这个
exe
将要做什么。我已经看过两次av气球了


首先,当我将一些编译的汇编代码添加到(签名的?)exe文件中时,另一种情况发生在当应用程序处于非活动状态时,我部署系统范围的钩子以捕获系统中的所有击键时(
exe
不够,并且有自己的
dll

我想提一提的是,代码签名不会让你的应用程序自动被列入白名单,它只会让你的应用程序不那么可疑。你不能使用吗?该程序还具有cli,您可以轻松地将其集成到生成过程中。@Oleg是否会在几乎所有防病毒数据库中自动将其列入白名单,只要它是干净的?不,不会,我的错。我从2009年的《疯狂》中找到了一个非常好的例子,详细地描述了这个问题,从那以后,一切都没有改变。我感到惊讶的是,一个可以帮助你在所有抗病毒应用中加入白名单的服务根本不存在(启动想法?)。在事情发生变化之前(如果可能的话),你所能做的就是在你的下载页面中解释问题,并添加一个指向病毒总扫描(an)的链接。“有没有常见的解决方案可以帮助避免”很少下载的文件/文件可能可疑“防病毒警报?”让它尽可能出现在许多机器上(问题与编程无关)。启发式几乎每天都在变化,Avast的误报率极高(有能力的扫描仪会将其标记为手动审核)。事实上,my.exe要求管理员权限,使用图标systray(因此默认情况下,主窗口隐藏为ShowWindow(hWnd,WS_HIDE))。我知道这会触发防病毒通用测试。但我确实需要这些功能。这并不能解决问题。问题是,如何避免因特定原因(下载率低)被标记为潜在恶意软件。您建议的答案概述了两种不相关的情况,其中一个可执行文件可能被标记为恶意软件。这是我否决投票所需的第五个贡献。请停止倾销不相关/低质量/无答案的答案。这会损害我的声誉,而否决投票对您的帐户完全免费。