为什么这个简单的 C 程序被检测为病毒?

2024-03-30

我写了这个程序:

#include <stdio.h>

main()
{
  int n;
  n=1;
  while (n>0)
  {
    puts("Write a number: ");
    scanf(" %d",&n);
    printf("This is the number you wrote: %d\n", n);
  }

}

显然绝对没有语法错误,也没有任何编译错误。它完美地编译和构建。

现在,如果我切换这一行:

puts("Write a number: ");

与这个:

printf("Write a number: ");

它编译时没有错误,但当编译的对象启动时,它立即停止并弹出防病毒警告,表示它识别出特洛伊木马。在得出任何结论之前,我多次构建了它,在收到相同的消息后,我在virustotal.com上对其进行了扫描,然后this https://www.virustotal.com/pt/file/54c695f6636a166570e794282d293d0d710726b57e27f5f834744e1e584a6735/analysis/1382101391/结果是。

好吧,我知道puts实际上比更正确printf考虑到目标,但它仍然应该工作得很好。

这是怎么回事?

我使用AVG杀毒软件和Pelles C进行编译。


显然,这是误报。生成的机器代码恰好类似于恶意软件数据库中的代码。这与使用无关puts().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这个简单的 C 程序被检测为病毒? 的相关文章

随机推荐