我刚发现此代码被检测为带有某些防病毒程序的病毒。
#include <stdio.h>
char* func(char *str) {
return str;
}
void main() {
char *str = "What the hack\n";
char *str2 = func(str);
printf(str2);
}
VirusTotal扫描结果图片:
你知道为什么吗?
答案 0 :(得分:0)
问题:
您的程序是您编译的可执行文件。这意味着它没有任何背景。例如,如果它与verified publisher相关联,您的程序将会引发更少的标记。 See this post for some more detail on that.此外,您的应用无形地运行;也就是说,它不允许用户输入。 That is often a 'red flag' that will be detected by some antivirus programs.
<强>证明:强>
#include <stdio.h>
char* func(char *str) {
return str;
}
void main() {
char str[] = "What the heck\n";
char *str2 = func(str);
printf(str2);
}
程序看起来像这样(单词被改为heck并以不同方式初始化):
请注意,它看起来完全相同。
现在,当我改变这样的程序时:
#include <stdio.h>
//char* func(char *str) {
// return str;
//}
void main() {
char str[] = "What the heck\n";
//char *str2 = func(str);
//printf(str2);
}
结果如下: