Суббота, 23.09.2017, 05:14 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Волк-1024, Anton93, xXxSh@dowxXx 
delfcode » Delphi » Вирусология Delphi » Определить наличие антивируса на машине
Определить наличие антивируса на машине
Anton93Дата: Суббота, 05.10.2013, 16:35 | Сообщение # 1
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
Доброго времени суток.

Возникла задача определить наличие установленного антивируса на машине. антивирус может быть любой.
проблема встала в методе определения. подскажите пожалуйста самый короткий и эффективный способ проверки. можно даже без конкретизации какой именно. банальное TRUE если установлен или FALSE если нет.

спасибо happy


ICQ: 41896
 
okeДата: Суббота, 05.10.2013, 20:23 | Сообщение # 2
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
Собери имена процессов или окон и скань их, если есть возвращай тру и тд. Или же ищи в реестре записи ав, и тд.
 
Anton93Дата: Суббота, 05.10.2013, 21:15 | Сообщение # 3
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
oke, с процессами вариант уже пробовал, но он долгий, как и вариант с реестром и требует постоянную актуальную базу.
я же прошу более общий метод. какой-нибудь признак наличия ав чтобы базу с собой не таскать.


ICQ: 41896
 
BornДата: Воскресенье, 06.10.2013, 14:48 | Сообщение # 4
Частый гость
Зарегистрирован: 01.10.2012
Группа: Пользователи
Сообщений: 49
Статус: Offline
Ищи папки с их ними названиями) if directoryexists ('c:\programfiles\Drweb') then
showmessage('Как же собака тебя обойти'))) эт самый простой варик.


Сообщение отредактировал Born - Воскресенье, 06.10.2013, 14:53
 
Anton93Дата: Воскресенье, 06.10.2013, 16:04 | Сообщение # 5
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
Born, прочти мой пост выше. твой метод тоже требует наличие базы аверов в теле

ICQ: 41896
 
xXxSh@dowxXxДата: Воскресенье, 06.10.2013, 16:11 | Сообщение # 6
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Цитата (Born)
Ищи папки с их ними названиями) if directoryexists ('c:\programfiles\Drweb') then


Имена папок с файлами АВ время от времени так же изменяются, так что этот метод ровно такой же как и с процессами.

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


Интересно почему же метод с процессами тебе показался долгим?

Если ты хочешь найти какие то отличительные особенности ОС указывающие на то работает ли какой либо АВ в системе, то как мне кажется тут нужно копать в сторону так называемого "Центра обеспечения безопасности", как многие наверное помнят при установленном АВ винда автоматически адаптирует работу "Центра" под его статусы, и отключает собственный "дефолтный" фаерволл в пользу фаервола АВ.

Да и к тому же в любом случае для того что бы определить что все таки за АВ установлен в системе все равно понадобится база.


Сообщение отредактировал xXxSh@dowxXx - Воскресенье, 06.10.2013, 16:15
 
Anton93Дата: Воскресенье, 06.10.2013, 16:45 | Сообщение # 7
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
xXxSh@dowxXx, в начале тоже думал о центре безопасности, пока там глушняк, возможно плохо ищу biggrin
да мне в принципе не важно какой ав, я упомянул там сверху. все дело в трудности определения вирутальной машины. я хочу сделать так, что если на машине обнаружен ав, чтобы определенные участки тупо не выполнялись, иначе эмулятор кода все испоганит.


ICQ: 41896
 
okeДата: Воскресенье, 06.10.2013, 21:52 | Сообщение # 8
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
Попробуй сканировать трей на ав, а насчет базы, она в любом случае нужна будет!
PS. Насчет ав можешь только самые известные добавить.
 
xXxSh@dowxXxДата: Воскресенье, 06.10.2013, 23:13 | Сообщение # 9
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Цитата (oke)
Попробуй сканировать трей на ав, а насчет базы, она в любом случае нужна будет!

У Anton93 немножко другая идея.
 
dolphinДата: Вторник, 08.10.2013, 08:25 | Сообщение # 10
Администратор
Сообщений: 902
Статус: Offline
(с) не помню откуда, сам не проверял

После того, как установили антивирус, всегда хочется узнать, а работает ли он?
Сделать это можно с помощью файла Eicar
Eicar — это файл, с помощью которого можно проверить ваш антивирус.
И так, что необходимо сделать.
Для начала необходимо скопировать ниже приведенный код в текстовой файл, и сохранить его с именем EICAR.COM и просканируйте его.

X5O!P%@AP[4\PZX54 (P^) 7CC) 7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Примерный размер файла будет около 70 байт
Если ваш антивирус работает и правильно настроен , то он обнаружит этой файл как вирус.

PS: Данный файл не является вирусом. После тестирования удалите файл , если это не сделала за вас ваша антивирусная программа.

А вообще информация есть ли на компе какая либо защита хранится в реестре, не знаю где, но ключ там где то есть ведь когда антивируса нет центр уведомлений стремится нам об этом сообщить, значить искать нужно именно там.
Прикрепления: eicar-virus-tes.zip(0Kb)


Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
Anton93Дата: Четверг, 10.10.2013, 06:54 | Сообщение # 11
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
dolphin, метод рабочий, ав орет, однако он теперь эвристика проявляет интерес к файлу, создающему его, так что отпадает

ICQ: 41896
 
HargenДата: Вторник, 22.10.2013, 12:31 | Сообщение # 12
Участник
Зарегистрирован: 08.05.2013
Группа: Пользователи
Сообщений: 66
Статус: Offline
Есть такая идея - много раз вызывать процедуру перехватываемую проактивкой и и сравнивать с нормальным

Главное - не изобретать велосипед

 
xXxSh@dowxXxДата: Вторник, 22.10.2013, 19:51 | Сообщение # 13
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Цитата Hargen ()
Есть такая идея - много раз вызывать процедуру перехватываемую проактивкой и и сравнивать с нормальным


как знать, опять же быть может у разных аверов проактивка будет реагировать по разному.
 
HargenДата: Пятница, 25.10.2013, 13:13 | Сообщение # 14
Участник
Зарегистрирован: 08.05.2013
Группа: Пользователи
Сообщений: 66
Статус: Offline
Цитата xXxSh@dowxXx ()
проактивка будет реагировать по разному.

Мда опять все на базе данных об аверах завязано


Главное - не изобретать велосипед

 
StertorДата: Четверг, 14.11.2013, 18:16 | Сообщение # 15
Группа: Удаленные



Гарантированный способ - с помощью WMI.

Set objSWbemServicesEx = GetObject("WinMgmts:{impersonationLevel=impersonate}!\\.\root\SecurityCenter")

Set collSWbemObjectSet_AntiVirusProduct = objSWbemServicesEx.ExecQuery("SELECT * From AntiVirusProduct")
 
delfcode » Delphi » Вирусология Delphi » Определить наличие антивируса на машине
Страница 1 из 11
Поиск:

delfcode.ru © 2008 - 2017 Хостинг от uCoz