Malwarebytes为基本的C#"Hello World!"提供木马警告.程序

Qwu*_*cus 84 c# false-positive trojan

基本上,我只是用Malwarebytes扫描了我的计算机(在运行之前更新了定义),并说它用C#编写的"helloworld"程序有一个木马.

我知道这是一个误报,因为我只在2-3天前编写了该程序,并在一个小型教程网站上制作了我信任的程序.我是C#的新手,但我看不到任何可以发出木马警告的东西.

Malwarebytes报告

程序标记可执行文件,但不标记源文件.

using System;

namespace HelloWorldApplication
{
    class HelloWorld
    {
        static void Main(string[] args)
        {
            Console.WriteLine("\n\tHello World!");
            Console.WriteLine("This is my first C# program.\nI'm so proud of myself!");
            Console.WriteLine("\tTeehee!");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是用Notepad ++编写的代码,它是从命令行运行的(实际上是Cygwin).为什么会标记这个?作为一个崭露头角的C#程序员,我应该知道这件事吗?

Bal*_*ick 130

问题可能是Backdoor.MSIL.PGen木马通常被称为'hello.exe'.您的可执行文件的名称可能是"hello.exe"或"helloworld.exe".

只需重命名您的项目或将输出可执行文件更改为不包含'hello'的内容,它应该停止检测它.

这个答案有点推测,但考虑到你的项目名称,以及过度攻击这个恶意软件的历史(见这里),这似乎是一个合理的准备.

  • 令我惊讶的是,像MalwareBytes这样高调的软件只会根据文件名标出误报 (72认同)
  • 那是一些肮脏的反病毒软件. (58认同)
  • 你是对的...这就是名字.XP.我发现这很愚蠢,tbh.将其更改为其他名称并且未标记它.谢谢! (23认同)
  • @BradThomas:嗯,我不确定*这就是原因,但考虑到上面项目的名称,它是一个主要的吸烟枪... :)还有MalwareBytes过分热情地检测这个木马的历史:https:/ /forums.malwarebytes.org/index.php?showtopic=135095 (14认同)
  • 我猜测启发式是(a)包含MSIL代码(由C#编译器生成的字节码类型),(b)名为"hello.exe".其中一个本身是不够的. (10认同)
  • @Qwurticus:好极了!乐意效劳. (2认同)

Phi*_*ipp 14

Baldrick的回答可能是正确的,但还有另一种可能性:有些病毒在系统上搜索随机可执行文件并通过将自己的代码插入其中来修改它们(事实上,这是" 计算机病毒 "的原始定义").当您发现一个您知道可信的可执行文件突然被报告为受感染时,您可能正在处理此类病毒.

但除非您的病毒扫描程序将其他可执行文件报告为同一病毒,否则不太可能.

  • 我希望他发布了可执行文件.如果有人反编译并发现它确实包含病毒,我会感到很开心. (6认同)
  • @Navin如果他发布了它,我就会故意发布一个潜在的恶意可执行文件. (3认同)
  • @TheGuywithTheHat Fair足够了.我仍然认为将它与警告一起发布是安全的. (3认同)