Malwarebytes对基本C#“ Hello World!”发出木马警告。程序


85

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

我知道这是一个误报,因为我只在2-3天前编写了该程序,然后跟随一个小型教程网站制作了我信任的程序。我是C#的新手,但是我看不到任何会发出特洛伊木马警告的东西。

恶意软件报告

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

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!");
        }
    }
}

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


1
我应该添加,同一文件夹中的其他C#源文件或可执行文件均未标记。
Qwurticus 2014年

2
您是否从网站下载了代码示例?您可能没有意识到是通过自定义生成步骤执行代码,还是引用bin文件夹中的dll等来执行代码。我看不到任何与病毒签名有关的信息。
BateTech

13
无关,但此帖子中的图片已被sophos阻止,并带有恶意软件警告
puser 2014年

4
而且,即使它不太可能在这种情况下,它的值得观察的,只是因为你的源代码不包含恶意代码并不意味着你的可执行文件并不:scienceblogs.com/goodmath/2007/04/15/...
Fabio Beltramini 2014年

4
在我的论文工作中,我使用了大约14种防病毒软件来测试2500多种恶意软件,发现Malwarebytes是非常差的防病毒软件。这是幻灯片-幻灯片32用于比较图
Grijesh Chauhan 2014年

Answers:


131

问题可能是Backdoor.MSIL.PGen木马通常称为“ hello.exe”。可执行文件的名称大概是“ hello.exe”或“ helloworld.exe”。

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

这个答案在某种程度上是推测性的,但是鉴于您的项目名称以及对该软件的过度攻击性检测的历史(请参阅此处),这似乎是一个合理的选择。


58
那是那里有些粗糙的反病毒软件。
tom.dietrich 2014年

73
我感到惊讶的是,像MalwareBytes这样高调的软件会完全基于文件名来标记误报
Brad Thomas

14
@BradThomas:好吧,我不确定这是为什么,但是鉴于上面项目的名称,这是一支主要的吸烟枪... :)还有MalwareBytes过度检测该木马的历史:forums.malwarebytes.org /index.php?showtopic=135095
Baldrick

23
您说得对...就是名字。XP。我觉得那很蠢,TBH。将其更改为其他名称,但未对其进行标记。谢谢!
Qwurticus 2014年

10
我想试探法是(a)包含MSIL代码(由C#编译器生成的字节码),(b)命名为“ hello.exe”。仅靠其中之一是不够的。
nneonneo 2014年

14

Baldrick的答案可能是正确的,但还有另一种可能性:有些病毒会在系统上搜索随机可执行文件,并通过在其中插入自己的代码来对其进行修改(实际上,这是“计算机病毒”的原始定义。”)。当您发现突然发现您知道的可信任可执行文件被感染时,您可能正在处理这种病毒。

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


6
我希望他已经发布了可执行文件。如果有人反编译它并发现它确实包含病毒,我会感到很开心。
纳文2014年

3
@Navin如果他发布了它,我会因为故意发布潜在的恶意可执行文件而将他召唤出去。
菲利普2014年

@Navin这就是Philipp说“潜在的恶意可执行文件”的原因。
帽子的家伙

3
@TheGuywithTheHat公平。我仍然认为将其与警告一起发布是安全的。
纳文2014年

0

我只是想出了这一点:稍微更改AssemblyInfo.cs中的“ Guid”,然后重试。

那对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.