【问题标题】:Antivirus removes Win32 project exe杀毒软件删除 Win32 项目 exe
【发布时间】:2013-10-11 12:07:37
【问题描述】:

当我编译我的 Win32 Windows 应用程序时,我的防病毒软件认为它是病毒并删除了 exe 文件,我每次编译项目时都必须关闭防病毒软件。 我怎么解决这个问题? 我认为这是在描述中,我必须设置制造商名称。

【问题讨论】:

  • 每次编译项目时关闭杀毒即可解决
  • 这是一个解决方案??
  • 是的,可能,因为你写的不是杀毒软件
  • 那么为什么杀毒软件不删除另一个 Win32 应用程序呢?您可以将一些东西添加到您的项目中
  • Avast 是著名的麻烦制造者。它似乎对突然出现的EXE特别敏感。最好摆脱它。

标签: winapi visual-c++ antivirus


【解决方案1】:

程序中有多种模式可以让扫描程序将其识别为恶意软件。这是启发式扫描:扫描程序无法识别您的程序,但它会尝试做一些事情:API 调用、内存或文件系统访问的某些方式或区域,等等。

经典示例包括读取 Outlook 的通讯簿并尝试读取或执行某些文件路径。

我认为这是在描述中,我必须设置制造商名称。

那么,如果您设置描述会发生什么(顺便说一句,“描述”是什么)?那么可执行文件 not 会被删除吗?这就是你的答案。

无论如何必须分析病毒扫描程序删除您的可执行文件的原因和时间。部分编译您的程序,省略重要部分可以帮助推断出导致问题的部分,并且阅读源代码可能会指出原因。

【讨论】:

  • 如果我只是在 Visual Studio 2012 中创建 Win32 项目。它有一些生成的代码并在不更改任何代码的情况下运行它,防病毒软件会立即将其删除:)
  • 那么我强烈建议您开始查看“一些生成的代码”
  • 没有什么危险的,只是简单的win32 api调用,CreateWindow(),SendMEssage()等:))
  • @CodeCaster:+1 提到启发式,虽然我很想把你的最后一行放在<sarcasm> 标签中。此外,您可能应该在项目的编译命令中定义它:/DNOT_A_VIRUS :)
  • 您必须联系防病毒供应商,询问他们为什么认为您的程序是恶意的。我们只是猜测。
【解决方案2】:

只是一个轶事:

几年前我在玩TCC。当我编译其中一个示例程序时,一个带有窗口的简单 Win32 程序,我的防病毒软件删除了 exe。原来,改个窗口类的名字就可以解决问题了。 (我不知道该 TCC 示例代码的 当前 版本是否被检测为病毒。)

也许您的情况也可以通过类似的小改动来解决,而无需关闭防病毒软件。祝你好运:)

【讨论】:

  • 如果我只是在 Visual Studio 2012 中创建 Win32 项目。它有一些生成的代码并在不更改任何代码的情况下运行它,防病毒软件会立即将其删除:)]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-01
相关资源
最近更新 更多