Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > почему ругается антивир?


Автор: BLACK_KOT 6.5.2009, 12:42
Код

CopyFile('english.exe','C:\Program Files\english.exe',true);


копирую свою прогу в Program Files - говорит троян, причём именно из за этой строки! 

а когда какой нинь сетуп распаковывает файлы, устанавливает чё-нить в Program Files - всё нормально. 

что, распаковщики по-другому копируют файлы?

Автор: kami 6.5.2009, 17:21
Антивир антивиру рознь. Какой конкретно ругается?
Некоторые можно перехитрить, просто переставив местами 2 строчки кода.
Для других нужны извращения посложнее.

Автор: BLACK_KOT 6.5.2009, 19:33
антивир так и называется - зонтик красный

Автор: kami 6.5.2009, 21:52
Цитата(BLACK_KOT @  6.5.2009,  19:33 Найти цитируемый пост)
антивир так и называется - зонтик красный

Тогда так и надо говорить - Avira AntiVir.
Достаточно серьезная штука, простой перестановкой операторов не обмануть (в отличие от Каспера, по крайней мере год назад обходился легко, правда реагировал на все подряд, включая даже самые безобидные участки кода. Что ему не нравилось - до сих пор не понимаю, как и то, как составляют сигнатуры для его непомерно больших баз).

Предлагаю следующие варианты:
1. Использовать не константы, а переменные, т.е.
Код

var
  Dest:string;
  Source:string;
begin
  Source:='моя_прога.exe';
  Dest:='c:\Program Files\'+Source;
  CopyFile(@Source[1], @Dest[1],  True);
end;


Здесь есть одно большое НО:
Кто сказал, что папка Program Files находится на диске c: ?
К примеру, на моей рабочей машине она расположена на диске D. Как правильно найти путь к системным папкам - ищите в сети про SHGetSpecialFolderPath.

2. Использовать не CopyFile:
 а) TFileStream и его метод CopyFrom
 b) CopyFileEx
 c) SHFileOperation
 d) MoveFile (если исходный файл больше не нужен).

Автор: Alexeis 6.5.2009, 22:01
  Правильнее всего отправить им образец как ложное срабатывание.

Автор: lukash256 7.5.2009, 11:09
или просто добавить в доверенные приложения =) если конечно Avira AntiVir ето может. 

Автор: Роман 7.5.2009, 11:29
Вопрос "Почему ругается антивирус" изменили на "Как обойти антивирус" smile

Автор: BLACK_KOT 7.5.2009, 23:22
вобщем верищит антивир не на адрес, как выяснилось, а на функцию CopyFile вцелом. зато MoveFile прокатило!

Автор: MetalFan 8.5.2009, 09:16
странный какой-то антивирус... 

Автор: v258 8.5.2009, 11:20
Цитата(MetalFan @  8.5.2009,  09:16 Найти цитируемый пост)
странный какой-то антивирус...

А чего странного - программа сама себя копирует в другую папку, т.е. размножается. Вот он и напрягается  smile 

Автор: Alexeis 8.5.2009, 13:50
Цитата(v258 @  8.5.2009,  10:20 Найти цитируемый пост)
А чего странного - программа сама себя копирует в другую папку, т.е. размножается. Вот он и напрягается  smile  

  Да глупости все это! Вызов одной функции не может определятся как потенциально опасный. В сигнатуре наверняка есть много еще чего. Сигнатуры это палка о 2х концах, чем более общая она, тем менее она чувствительна к модификациям вируса, но тем больше шансов что под нее попадет полезный файл. Авира стремиться скорее перебдить, чем недобдить, поэтому такие казусы с ней не редки. Я уже раз 10 отсылал ложные срабатывания. Обычно сутки-две и базы правятся, после чего антивирус перестает реагировать.

Автор: v258 12.5.2009, 07:34
Цитата(Alexeis @  8.5.2009,  13:50 Найти цитируемый пост)
Да глупости все это! Вызов одной функции не может определятся как потенциально опасный. В сигнатуре наверняка есть много еще чего.

Ну так мы и не знаем, чего там у автора еще есть. Наверняка CopyFile уже последней каплей для антивируса стало  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)