#include <conio.h>
#include <stdlib.h>
main() {
printf("hello");
getchar();
}
当我编译上述代码时,AVG杀毒软件会检测到创建的二进制文件,并立即将其删除。
我收到了威胁:
Trojan Horse BackDoor.Generic16.BOCF
为什么会出现这种情况?#include <conio.h>
#include <stdlib.h>
main() {
printf("hello");
getchar();
}
Trojan Horse BackDoor.Generic16.BOCF
为什么会出现这种情况?我从未听说过这种情况,但也许你的C运行库被感染了?这可能会导致每个通过静态库链接生成的程序都带有病毒。为了测试这一点,请使用“动态库链接”重新编译和链接。
虽然误报是可能的,但我怀疑它会在新创建的程序中被检测到。(除非是一个奇特的杀毒软件包。)
运行全盘病毒扫描以检查所有文件。或者切换到不容易受到病毒攻击的操作系统(Linux、MacOS等),这样你就不必运行防病毒软件。
我已经完全复制了你的代码,并在我的Mac终端上成功运行。我必须说,你的问题是你正在创建一个被你的反病毒软件拦截的可执行文件。
main
的正确定义是int main(void) { /* ... */ }
。您还缺少必需的#include <stdio.h>
。更重要的是,尝试对程序进行一些更改,看看是否会产生相同的行为。 - Keith Thompson