Basicamente, acabei de fazer uma varredura em meu computador com o Malwarebytes (atualizei as definições antes de executar) e ele disse que meu programa "helloworld" escrito em C # tem um cavalo de Tróia .
Eu sei que este é um falso positivo, já que escrevi o programa há 2 a 3 dias atrás e segui um pequeno tutorial no site para fazer o programa que confio. Eu sou novo em C #, mas não consigo ver nada que forneça um aviso de cavalo de Tróia.
O programa sinaliza o executável, mas não o arquivo de origem.
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!");
}
}
}
Este é o código, escrito em Notepad ++ , e é executado a partir da linha de comando ( Cygwin , na verdade). Por que sinaliza isso? É algo que, como um programador C # iniciante, eu deveria saber?
c#
false-positive
trojan
Qwurticus
fonte
fonte
Respostas:
O problema pode ser que o Trojan Backdoor.MSIL.PGen é normalmente chamado de 'hello.exe'. O nome do seu executável é provavelmente 'hello.exe' ou 'helloworld.exe'.
Apenas renomeie seu projeto ou altere o executável de saída para algo que não contenha 'hello', e ele deve parar de detectá-lo.
Essa resposta é um tanto especulativa, mas dado o nome do seu projeto e um histórico de detecção excessivamente agressiva desse malware (veja aqui ), parece uma tentativa razoável.
fonte
A resposta de Baldrick provavelmente está correta, mas também há outra possibilidade: Existem vírus que procuram executáveis aleatórios no sistema e os modificam inserindo seu próprio código neles (esta é, de fato, a definição original de " vírus de computador "). Quando você descobre que um executável que você sabe que é confiável repentinamente é relatado como infectado, você pode estar lidando com um vírus.
Mas, a menos que seu scanner de vírus relate outros executáveis como o mesmo vírus, isso é improvável.
fonte
Acabei de descobrir isso: altere um pouco o "Guid" em AssemblyInfo.cs e tente novamente.
Isso funcionou para mim.
fonte