Kaspersky обнаруживает мой ConsoleApplication в качестве трояна - программирование
Подтвердить что ты не робот

Kaspersky обнаруживает мой ConsoleApplication в качестве трояна

Я искал какое-то время, но я не нашел подходящего ответа на этот вопрос. Я заметил, что мой антивирус начал обнаруживать мое приложение в качестве трояна. Мой антивирус - это Kaspersky 2013, и это тип обнаруженного трояна. http://www.securelist.com/en/descriptions/HEUR:Trojan.Win32.Generic

Мое приложение выполняет только 3 вещи:

  • проверьте, подключен ли ключ ключа к компьютеру.

  • Расшифровывает dll (то есть библиотеку классов wpf с пользовательской точкой входа) с ключом ключа

  • Запускает dll через пользовательскую точку ввода.

Проблема в том, что аналогичный код работает в аналогичном приложении, но в этом случае мой антивирус обнаруживает его как трояна. Я заметил, что часть кода, которая имеет проблему, такова:

    public static void ExecuteAssembly(byte[] Bytes)
    {
        Assembly a = Assembly.Load(Bytes);
        foreach (Type type in a.GetTypes())
        {
            try
            {
                MethodInfo main = type.GetMethod("Main");
                if (main != null)
                    main.Invoke(type, new object[] { });
            }
            catch { }
        }
    }

Что я могу сделать, чтобы избежать этой проблемы? Я не занимаюсь трояном, и я не могу избежать использования этой части кода для запуска моей dll. Поэтому я не думаю, что код является проблемой. Спасибо заранее.

Маттиа

ИЗМЕНИТЬ:

Я загрузил файл на сайт, который мне сказал Егор. Это результат. https://www.virustotal.com/en/file/7ee30172ffda51f4b99700d10df2816403cbdc8f17bfe90f7deef81a88639da3/analysis/1369058630/

Какой совет вы можете мне дать? Чтобы отправить файл как ложный или какой-то другой, как изменение кода? Я новичок в таких проблемах, поэтому не знаю, как действовать. Еще раз спасибо!

4b9b3361

Ответ 1

Пока я не могу дать вам ответ о том, как его решить, изменив код, я могу сказать вам, что вы не первый, у кого есть эта проблема. Я столкнулся с этим раньше с помощью одной из моих собственных программ, и кажется, что даже некоторые игры обнаруживаются как этот троян от Касперского. Как некоторые другие сказали в комментарии, вы можете представить это как ложный позитив для Касперского. Я выполнил инструкции по этой ссылке: Как сообщать о необнаруженных вирусах или ложных срабатываниях к вирусу, не ссылаться на вредоносное ПО на форуме!

Ответ 2

вы сталкиваетесь с эвристическим обнаружением - это означает, что kaspersky оценила каждый отрицательный и положительный атрибут вашей DLL (каждая вещь из таблиц импорта в размер файла и вызванные фактические функции), и решил, что ее оценка ниже рекомендованной для хорошего исполняемый файл.

Я предполагаю, что пример кода - это то, что вызывает обнаружение - это означает, что вы удалили этот раздел кода, и вдруг kaspersky был в порядке с ним. если это так, вы можете обмануть сканер Касперского, вызвав Assembly.Load, используя отражение. (что, вероятно, является причиной его обнаружения - очень часто с троянами загружать больше модулей в виде dll и загружать их из памяти)

typeof(Assembly).GetMethod("Load").Invoke(null,new object[] {Bytes});