Dav*_*ton 5 c++ antivirus iostream g++
我正在运行一个非常简单的C++程序:
#include <list>
#include <vector>
int main(int argc, char **args) {
}
Run Code Online (Sandbox Code Playgroud)
我转到命令提示符并编译并运行:
g++ whatever.cpp
a.exe
Run Code Online (Sandbox Code Playgroud)
通常情况下这很好.它编译得很好,但是当我运行它时会说拒绝访问并且AVG弹出告诉我已经检测到威胁Trojan Horse Generic 17.CKZT.我尝试使用Microsoft编译器(cl.exe)再次编译,它运行罚款.所以我回去了,并补充道:
#include <iostream>
Run Code Online (Sandbox Code Playgroud)
使用g ++编译并运行.这次它工作得很好.
所以任何人都可以告诉我为什么AVG会报告一个空的主要方法作为特洛伊木马,但如果包含iostream标题,它不会?
更新:
我在main方法中添加了一个return语句,现在我发现如果我返回0,我只会得到错误.任何其他返回值,它似乎工作正常.
这里发生了什么?
可能发生的情况是,防病毒启发式方法在程序中存在的标准运行时库上出错,因为恶意软件也使用它们。当然,合法软件也使用它们!它没有失败的事实iostream可能意味着它iostream在恶意软件编写者中不太受欢迎。