web-dev-qa-db-fra.com

Malwarebytes donne un avertissement au cheval de Troie pour le C # de base "Hello World!" programme

Fondamentalement, je viens de lancer une analyse de mon ordinateur avec Malwarebytes (mise à jour des définitions avant de courir), et il a dit que mon programme "helloworld" écrit en C # a un trojan .

Je sais pertinemment que c'est un faux positif, car je n'ai écrit le programme qu'il y a 2-3 jours et j'ai suivi un petit site Web de tutoriel pour créer le programme auquel je fais confiance. Je suis nouveau sur C #, mais je ne vois rien qui puisse donner un avertissement de cheval de Troie.

Malwarebytes report

Le programme marque l'exécutable, mais pas le fichier source.

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

C'est le code, écrit en Notepad ++ , et il est exécuté depuis la ligne de commande ( Cygwin , en fait). Pourquoi cela signale-t-il cela? Est-ce quelque chose que je devrais connaître en tant que programmeur C # en herbe?

85
Qwurticus

Le problème pourrait être que le cheval de Troie Backdoor.MSIL.PGen est généralement appelé "hello.exe". Le nom de votre exécutable est probablement "hello.exe" ou "helloworld.exe".

Renommez simplement votre projet ou changez l'exécutable de sortie en quelque chose ne contenant pas "bonjour", et il devrait cesser de le détecter.

Cette réponse est quelque peu spéculative, mais compte tenu du nom de votre projet et des antécédents de détection trop agressive de ce malware (voir ici ), cela semble un coup de couteau raisonnable.

131
Baldrick

La réponse de Baldrick est probablement correcte, mais il existe également une autre possibilité: il existe des virus qui recherchent des exécutables aléatoires sur le système et les modifient en y insérant leur propre code (c'est en fait la définition originale de "- virus informatique "). Lorsque vous constatez qu'un exécutable dont vous savez qu'il est digne de confiance est soudainement signalé comme infecté, vous pouvez être confronté à un tel virus.

Mais à moins que votre antivirus ne signale d'autres exécutables comme le même virus, cela est peu probable.

14
Philipp

Je viens de comprendre cela: modifiez un peu le "Guid" dans AssemblyInfo.cs, puis réessayez.

Cela a fonctionné pour moi.

0
SuperBerry