Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Вниз

Как узнать средствами Дельфи об антивирусах   Найти похожие ветки 

 
Прогмэн   (2008-05-10 21:35) [0]

Доброго времени суток, уважаемые мастера.
Я пишу небольшую программку, которая при вставлении флэшки в USB автоматические запускает антивирус с определенной ком.строкой на принудительную проверку флэшки. Суть в том, что у некоторых антивирусов командная строка формируется по разному. Хочу это заложить в программе. Одна из задач заключается в следующем: Как в Дельфи определить(получить строку) какой на компьютере установлен антивирус.
Конечно можно зайти в центр безопасности Винды, увидеть там антивирус, и руками все сделать в программе(то есть дать пользователю окошко с выбором антивируса). Но мне как раз таки очень интересно узнать как это можно сделать автоматически без участия пользователя, так сказать самонастраивающаяся....
Я предполагаю, что подобная информация находится где то в реестре. Но в поисковиках, ничего не нашел.
Не подскажите, мастера, как это можно реализовать.


 
Юрий Зотов ©   (2008-05-10 22:16) [1]

> Прогмэн

Допустим, на компе установлена программа X. Допустим, Ваша программа каким-то образом ее нашла (через реестр, сканированием диска или еще как-то - неважно).

Как теперь узнать, что это за программа X? Антивирус, или еще что-то?

Если Ваша программа "знает" программу X, то она сможет это сделать. То есть, Ваша программа должна содержать в себе список антивирусов, хотя бы наиболее распространенных. Причем даже и в этом случае Ваша программа сможет распознать программу X при условии, что это действительно X, а не другая программа, которая под X только маскируется.

Но если программа X Вашей программе совсем неизвестна, то как она сможет определить ее назначение? Очевидно, никак.


 
Сергей М,   (2008-05-10 22:19) [2]


> как это можно реализовать


Считай что никак.


 
antonn ©   (2008-05-10 22:29) [3]

в ВинХР есть центр безопасности, многие антивирусы встариваются в него, возможно есть какие то функции "дозвона" туда.


 
{RASkov} ©   (2008-05-10 22:34) [4]

> Ваша программа должна содержать в себе список антивирусов

Только нужно будет как и антивирусы - переодически обновлять свою прогу со списком антивирусов... т.е. сам этот список и параметры :)

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

Тут нужно как-то (при)думать о том, чтоб флеха "сама" защищалась от щемящихся на нее со всех сторон червяков и микробов всяких...)


> [3] antonn ©   (10.05.08 22:29)

"Многие" - не все.... поэтому см [2]....


 
Прогмэн   (2008-05-10 22:51) [5]

>>>Юрий Зотов ©   (10.05.08 22:16) [1]
Наверное программа Х, если он антивирус, хранит некоторую информацию, по которой сама винда тоже определяет, что это антивирус.

>>> antonn ©   (10.05.08 22:29) [3]
В этом то и есть вся затея. Поскольку известные антивиры вроде Каспера, Нортона, АВГ, Др.Веба и Т.д.  вписываются в этот центр безопасности. Значит система где то хранит об этом информацию. Вот и хотелось бы узнать где такую инфо можно будет взять.

>>>{RASkov} ©   (10.05.08 22:34) [4]
Более того, затея собс-но никчемная...
Немного не согласен. Суть в том, что большинство интивирей грузят собой систему, особенно когда работет пользователь с тяжелым ПО, такие как  программы видеомонтажа и т.д., и когда приходится еще вдогонку запускать несколько их разновидностей.  Зачастую обыновенные пользователи  просто отключают эти антивири.
Вот мысль и родилась, поскольку сама прога очень мало весит в ОЗУ, но может запустить антивирь для проверки флэшки. Как раз в подовляющем большинстве случаев вирусы переносятся через флэшки. При этом групповой политикой запрещены все автозапуски со сменных носителей.

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

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


 
Юрий Зотов ©   (2008-05-10 23:49) [6]

> Прогмэн   (10.05.08 22:51) [5]

> Наверное программа Х, если он антивирус, хранит некоторую
> информацию, по которой сама винда тоже определяет, что это антивирус.

Насколько я знаю, нет. Винда просто содержит тот самый список наиболее известных антивирусов.


 
{RASkov} ©   (2008-05-10 23:55) [7]

> [5] Прогмэн   (10.05.08 22:51)
> Но если винда определяет антивирус в центре безопасности

Дело в том, что у меня и центр-то этот отключен за ненадобностью... Поэтому я не уверен есть ли где в реестре на моем компе запись о антивирусе...
т.е. не ветка антивируса, а другое - общеизвестное и постоянное место...

> или сами антивирусы куда то инфо скидывают, что они антивирусы

Вот если б это было обязательным со стороны антивирусов - то да.... иначе .... опять см [2] :)


 
DVM ©   (2008-05-10 23:57) [8]


> Винда просто содержит тот самый список наиболее известных
> антивирусов.

Список и плюс еще там API специальное есть, вроде, для взаимодействия антивирусов и файерволлов с системой. Система же еще состояние антивируса понимает (остановлен/запущен/и т.д.).


 
{RASkov} ©   (2008-05-11 00:02) [9]

Список-не список.... но антивирь, появляющейся в данном цетре, наверняка тоже как-то участвует в оглашении себя в центре в качестве антивиря....
Отсюда тогда вроде как и вывод напрашивается: - А зачем тогда список? В прочем.... это только мысли ... вслух. :)


 
DVM ©   (2008-05-11 00:07) [10]


> Отсюда тогда вроде как и вывод напрашивается: - А зачем
> тогда список?

Я думаю, чтобы в этот спиок попасть, надо отстегнуть MS денег и что-то вроде сертификации пройти.


 
DVM ©   (2008-05-11 00:21) [11]

вот и API http://msdn.microsoft.com/en-us/library/bb963845(VS.85).aspx


 
Прогмэн   (2008-05-11 12:19) [12]

>>>>DVM ©   (11.05.08 00:21) [11]
вот и API http://msdn.microsoft.com/en-us/library/bb963845(VS.85).aspx

Посмотрел по адресу. Интерес представила WSC_SECURITY_PROVIDER, с константой
WSC_SECURITY_PROVIDER_ANTIVIRUS
The aggregation of all antivirus products for this computer.

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


 
{RASkov} ©   (2008-05-11 13:31) [13]

> [12] Прогмэн   (11.05.08 12:19)
> Мда, может быть все же сделать список и пользователю позволить
> самому выбирать, какой у него антивирус будет флэшки проверять :)

Если "это" сделаешь, то также можно сделать и проверку установленных антивирусов, например по имеющимся ихним(антивирусов) веткам в реестре т.е. по данным из реестра, например путь установки.... Возможно не о всех(антивирях) можно узнать нужную инфу, но...
Обнаруженные, таким способом, антивирусы вывести в список для выбора пользователем, а над списком галочку "Показать все известные мне антивирусы"...
Вообщем вариантов много....
ЗЫ: Я когда говорил про обновление "этой программы", то имел в виду и способы нахождения антивирусов на компе... т.е. сменилась версия антивиря и возможно сменилась его ветка в реестре или... вообщем думаю мысль понята верно.

ЗЫЖЖ: Все равно мне кажется эта программа из разряда "не нужных" :)


 
sniknik ©   (2008-05-11 13:55) [14]

> Вообщем вариантов много....
и когда все сделаешь выяснится, что нет у нужного антивируса "определенной ком.строки" с которой его запускать чтобы началась проверка...

вот у меня McAffe. скажите строку чтобы скажем диск c: начал проверяться.


 
{RASkov} ©   (2008-05-11 13:59) [15]

> [14] sniknik ©   (11.05.08 13:55)
> и когда все сделаешь выяснится, что нет у нужного антивируса
> "определенной ком.строки" с которой его запускать чтобы
> началась проверка...

И такое может быть.... Кстати, не забываем смотреть на пост № [2] :)

> вот у меня McAffe. скажите строку чтобы скажем диск c: начал проверяться.

А есть у этого антивируса данная возможность-то? Если есть, то и строчку узнать можно...


 
sniknik ©   (2008-05-11 14:04) [16]

возможность есть. наверняка (он же из пункта меню проводника "проверить " которую сам вставляет работает...), вот только будет ли она "определенной". обшей для всех антивирусов? мало ли кто какие параметры себе напридумывает.

кстати и в самом, им созданном, пункте меню не посмотришь, там гуид, т.е. этот старт идет через COM, как там дальше параметры передаются хз.


 
{RASkov} ©   (2008-05-11 14:18) [17]

> вот только будет ли она "определенной". обшей для всех антивирусов?

строки параметров можно хранить вместе со списком антивирусов....) ...если они есть конечно.


 
Прогмэн   (2008-05-11 14:24) [18]

>>>sniknik ©   (11.05.08 13:55) [14]
вот у меня McAffe. скажите строку чтобы скажем диск c: начал проверяться.

Вот сайт где предлагается McAfee Active Virus Scan
http://www.aias.ru/po-mcaffee.html.

Если обратить внимание на состав пакета, то там есть VirusScan Command Line – антивирус командной строки для систем Windows, Linux и Unix. Значится берется мануал и вперед для проверки диска С.

>>>>{RASkov} ©   (11.05.08 13:31) [13]
ЗЫЖЖ: Все равно мне кажется эта программа из разряда "не нужных" :)
Конечно на фоне гигантов антивирей, это вроде как не нужная задача, однако, решая ее, тоже происходит познавание системы (ОС) и взаимоотношения в ней программ.

>>>ЗЫ: Я когда говорил про обновление "этой программы", то имел в виду и способы нахождения антивирусов на компе... т.е. сменилась версия антивиря и возможно сменилась его ветка в реестре или... вообщем думаю мысль понята верно.
Мысль понята верно. :)


 
sniknik ©   (2008-05-11 15:52) [19]

> строки параметров можно хранить вместе со списком антивирусов....) ...если они есть конечно.
а также тип, и способ вызова, и т.д.... если вообще возможно все придуманное повторить.

> Значится берется мануал и вперед для проверки диска С.
и это у тебя прога будет делать? брать мануал и вперед!...
???

а мне както кнопочки в трее "сканировать" хватает.

> однако, решая ее, тоже происходит познавание системы (ОС) и взаимоотношения в ней программ.
а можно не выделываясь взять книжку и почитать, поизучать доки, msdn, и т.д.
т.е. действительно познавать систему, а не выдумывать методы какими она по твоему должна работать и заставлять других их опровергать... все что делают другие не запоминается.

> и возможно сменилась его ветка в реестре
и возможно ее нету как таковой...


 
Прогмэн   (2008-05-11 20:13) [20]

>>>>sniknik ©   (11.05.08 15:52) [19]
и это у тебя прога будет делать? брать мануал и вперед!...
???
Прога сама все запускать будет. Вопрос и ответ для MCбыли риторическими к посту  sniknik ©   (11.05.08 13:55) [14].
Поскольку антивирус поддерживает командную строку, значит и запустить с командной строкой можно.

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


 
sniknik ©   (2008-05-11 21:17) [21]

> Прога сама все запускать будет.
как? ты не знаеш как, а она тобой написанная будет знать?

> Поскольку антивирус поддерживает командную строку
да кто ж тебе сказал, что поддерживает? он что тебе обязан чемто? обещал? типа - "зуб даю, поддерживал и поддерживать буду!". ну ну.
и притом разговор был про все, а не один антивирус... был бы про какой конкретный, определенной версии... не спорил бы. но ты то хочеш универсально. типа прочитал откуда нибудь название антивируса и запустил. а даже для одного не можеш эту строку запуска привести.
и какую из программ запускать будеш? я вот в папке с антивирусом насчитал 19 exe-ков. допустим ты нашел гдето записанное одно имя, и? а это и не антивирус, а "стартер" утилит для трея, а сам антивирус вообще сервис и в dll "лежит" (а чтоб никто не догадался).

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

чудишь ты, имхо, ничего полезного с искомой тобой информацией не сделать, а вот нагадить запросто.


 
Прогмэн   (2008-05-11 21:56) [22]

>>>>sniknik ©   (11.05.08 21:17) [21]
По моему простая болтовня получается. В любом антивирусном мануале нормальном расписано как работать. Включая пользование командной строкой, если антивирус ее поддерживает. Вопрос не в том, как запустить антивирус. Поверьте, я уже это сделал для нескольких антивирусных программ. Меня именно волнует самоопределение в программе, а не просто доверить  пользователю выбрать нужный и установленный на его компе антивирус. Цель - дело это автоматизировать.

>>>и какую из программ запускать будеш? я вот в папке с антивирусом насчитал 19 exe-ков. допустим ты нашел гдето записанное одно имя, и? а это и не антивирус, а "стартер" утилит для трея, а сам антивирус вообще сервис и в dll "лежит" (а чтоб никто не догадался).
     Да ради бога, хоть 30 exe-шников. Смотреть мануал по юзанью антивируса нужно :). Еще раз повторю, задача сводится к определению (а для пользователя получается к автоопределению) установленного ПО на компьютере пользователя в виде антивирусной программы. И вероятно, как указывалось выше, информация об этом лежит где нить в реестре. Наверняка Центр безопасности оттуда инфу об этом берет.
Для меня важно получить результат (строка или еще что нить), чтобы понять какой антивирус установлен: Каспер, Веб или иные. А запустить - это уже мое дело будет (то есть как я уже это в программу заложу).



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.048 c
15-1208414044
switch
2008-04-17 10:34
2008.06.01
Демо-версия


2-1210157112
Mishenka
2008-05-07 14:45
2008.06.01
Как вывести монитор из стендбая?


15-1208796208
Agent89
2008-04-21 20:43
2008.06.01
Установка компонентов


2-1210094060
b86
2008-05-06 21:14
2008.06.01
как сохранить в .txt


15-1208062484
anton773
2008-04-13 08:54
2008.06.01
борьба с пиратством





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский