85

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

我知道这是一个误报,因为我只在 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# 程序员,我应该知道什么吗?

4

3 回答 3

131

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

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

这个答案有点投机,但考虑到您的项目名称,以及对该恶意软件过度检测的历史(参见此处),这似乎是一个合理的尝试。

于 2014-04-08T02:19:58.963 回答
14

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

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

于 2014-04-08T16:23:56.507 回答
0

我刚刚想通了:稍微更改 AssemblyInfo.cs 中的“Guid”,然后再试一次。

这对我有用。

于 2017-06-24T01:18:20.407 回答