当我编译我的 Win32 Windows 应用程序时,我的防病毒软件认为它是病毒并删除了 exe 文件,我每次编译项目时都必须关闭防病毒软件。我怎么解决这个问题?我认为这是在描述中,我必须设置制造商名称。
问问题
387 次
2 回答
2
程序中有多种模式可以让扫描仪将其识别为恶意软件。这是启发式扫描:扫描器无法识别您的程序,但它会尝试做一些事情:API 调用、内存或文件系统访问的某些方式或区域,等等。
经典示例包括读取 Outlook 的通讯簿并尝试读取或执行某些文件路径。
我认为这是在描述中,我必须设置制造商名称。
那么,如果您不设置描述会发生什么(顺便说一句,“描述”是什么)?然后可执行文件不会被删除吗?这就是你的答案。
无论如何,您必须分析病毒扫描程序删除可执行文件的原因和时间。部分编译您的程序,省略重要部分可以帮助推断出哪个部分导致了问题,并且阅读源代码可能会指出原因。
于 2013-10-11T12:24:40.177 回答
1
只是一个轶事:
几年前我在玩TCC。当我编译其中一个示例程序时,一个带有窗口的简单 Win32 程序,我的防病毒软件删除了 exe。原来,改个窗口类的名字就可以解决问题了。(我不知道当前版本的 TCC 示例代码是否被检测为病毒。)
也许您的情况也可以通过类似的小改动来解决,而无需关闭防病毒软件。祝你好运 :)
于 2013-10-11T12:20:17.173 回答