Случайно создал вирус? - PullRequest
54 голосов
/ 15 июня 2009

Я видел, что это происходит довольно часто: я пишу приложение на Delphi, и когда я его компилирую, антивирусный сканер сообщает мне, что я создал вирус, а затем немедленно снова удаляет исполняемый файл. Это раздражает, но довольно легко исправить, выполнив полную перестройку, сначала удалив файлы * .dcu, а иногда просто подождав.

Насколько я знаю, это происходит с Delphi 6, 7, 2005 и 2007. А Symantec, Kaspersky, McAfee и NOD32 были виновны в сообщении об этих ложных срабатываниях. Я знаю, что это потому, что Delphi добавляет временные метки к своим файлам DCU, и эти временные метки попадают в конечный исполняемый файл и, по-видимому, являются частью некоторой случайной сигнатуры вируса.

Я не хочу отключать антивирусный сканер, даже для отдельной папки или файла. И я на самом деле не для решения, но мне интересно следующее:

  • Эти ложные срабатывания также встречаются с другими компиляторами?
  • Это также происходит с исполняемыми файлами .NET?
  • Заметили ли другие проблемы с Delphi?

Ответы [ 17 ]

1 голос
/ 27 июля 2010

Если у вас есть проблемы с ложными срабатываниями, существует VirusTotal онлайн-сервис, который может помочь вам проверить ваш файл по числу антивирусных ядер.
Это бесплатный сервис, и в настоящее время он может выполнять антивирусную проверку почти с 40 антивирусными ядрами.

1 голос
/ 15 июня 2009

Некоторые антивирусные программы даже отмечают пакетный файл как вирус и не могут быть уверены, что это не так. Весьма раздражает, если этот файл является частью сторонней библиотеки, и предупреждение о вирусе срабатывает каждый раз, когда TortoiseSVN проверяет его. В итоге я отключил антивирусный сканер, удалил файл и сделал коммит. (Не отключив сканер, я бы даже не смог этого сделать :-()

1 голос
/ 09 сентября 2009

Я помню еще одну странную:

Файл помечен как подозрительный. Единственное, что файл был .OBJ! .EXE, содержащий код .OBJ, не считался проблемой.

1 голос
/ 16 июня 2009

Это случилось со мной тоже. Хук-клавиатура вызовет практически любое эвристическое сканирование программного обеспечения AV, чтобы сообщить о логгере. Вероятно, есть много других системных вызовов, которые тоже вызовут это. Решение - попробуйте изменить код или обратиться к производителю AV, чтобы включить ваше программное обеспечение в список исключений.

1 голос
/ 15 июня 2009

Я бы не назвал это «ложным срабатыванием», потому что, строго говоря, оно не является ложным, и антивирусное программное обеспечение ни в чем не «виновно».

Я на 99% уверен, что это эвристический анализ (я уверен, что он определяет ваш исполняемый файл как нечто вроде win32.virus.generic - обратите внимание на generic , это признак то, что это не в его фирменной базе данных, а скорее было обнаружено эвристикой), и, будучи эвристическим и все такое, оно не дает вам никакой гарантии, что все, что он находит, является вредоносным, он просто делает это известным вам, что исполняемый файл является подозрительным с его точки зрения .

Самым простым решением для этого было бы просто добавить исключение для вашего файла по имени (это всегда одно и то же имя, верно?). Если вас это не устраивает, вам, вероятно, следует перед тем, как предпринимать какие-либо действия, попросить антивирусное программное обеспечение запросить его, чтобы вы могли пропустить файл вручную.

В общем, я обнаружил, что кодирование в Windows с помощью антивирусного программного обеспечения несколько раздражает (не делайте этого сейчас, но все же), особенно если указанное программное обеспечение находится в «параноидальном режиме». Хотя это раздражает, но это неизбежно (ИМО).

1 голос
/ 15 июня 2009

Пару лет назад, каждый раз, когда мы обновляли GNU Linker из источников mingw и начинали распространять его с нашим компилятором, мы получали сообщения о том, что virusscanners классифицировали ld.exe как вирус. (.exes писать .exes ...)

0 голосов
/ 20 мая 2016

VS Platform toolset 2010 делает мою простую программу обнаруженной как вирус. Изменение набора инструментов на VS 2013 решает его.

Он просто создает запрос HttpWebRequest и записывает результат в файл.

...