понедельник, 18 февраля 2008 г.

Полуавтоматическое обновление Антивируса Касперского (7-ой версии)

Для тех кому не удалось заставить антивирус Касперского (KAV, версия 7) обновляться автоматически.

command-file output
(при условии наличия действующего ключа, который входит в черный список "пиратских", а потому перестает функционировать сразу же после того как вы ппоытаетесь обновить "сигнатуры угроз").

Если у вас есть "спертый" ключ для этого антивируса, то еще рано радоваться, т.к. как и многие другие, это приложение при установки связи с издателем, проверит ключ, и, обнаружив что он "левый", перестанет функционировать.
Чтобы автообновление, все-таки, работало ранее предлагались различные методы по изменению атрибутов некоторых файлов из состава антивируса.
Я пошел другим путем. Мы просто создадим мини-сценарий (cmd/bat), который будет автоматически обновлять антивирус, как только его запустят. После его создания достаточно будет лишь поставить задание в планировщик и все.

Я рассказываю здесь только про антивирус, т.е. KAV а не KIS. В случае эксплуатации KIS - все немного сложнее, не хочется мне высказывать предположения, но могу намекнуть, что в отличии от случая с KAV для обновления KIS нужно скачивать файлы с именами заканчивающимися на &ids.zip.

Для того чтобы создать сценарий, который будет автоматически обновлять антивирус, для начала необходимо сделать это вручную, чтобы понять что именно мы автоматизируем:

  1. зайти на сайт и скачать последние базы
  2. разархивировать скаченное в отдельную папку (скажем, она называется kav-cumul)
  3. изменить настройки антивируса так, чтобы он не пытался скачивать файлы из интернета, а обновлялся исключительно из папки kav-cumul
  4. нажать кнопку обновить и немного подождать

Вот именно эту процедуру я и автоматизировал. Прежде всего вам понадобятся следующие (консольные) приложения:

  1. wget - маленький http/ftp клиент, для скачивания файлов (можно использовать и стандартный ftp-клиент windows, но функционал и наглядность этой программы значительно выше).
    Домашняя страница проекта wget for windows.
  2. unzip - для того, чтобы автоматически разархивировать файлы (можете скачать официальный архив infozip, из которого я и вытащил этот исполняемый файл).

Сам текст сценария (kav7_update.cmd):

@echo off
set AVPCOM="C:\Program Files\KasperskyVirus7\avp.com"
set AVPFTP="ftp://ftp.kaspersky.com/zips/"
echo [------------------------------------------]
echo [ Kaspersky quite simple automate update ]
echo [------------------------------------------]
if {%1}=={} goto usage
:start
echo [ call start(!
c:
cd c:\KAV_UPDATE\
del /Q *.avc 2> nul
del /Q *.ini 2> nul
del /Q *.xml 2> nul
del /Q *.set 2> nul
del /Q *.lst 2> nul
del /Q *.cfg 2> nul
del /Q *.txt 2> nul
del /Q *.dt 2> nul
del /Q *.klb 2> nul
del /Q *.vnd 2> nul
del /Q *.mhk 2> nul
wget %AVPFTP%av-i386-%1.zip -O %1_%DATE%.zip
unzip -o %1_%DATE%.zip > nul
%AVPCOM% UPDATE
goto end
:usage
echo [ usage: ]
echo [ kav7_update.cmd [daily/weekly/cumul] ]
echo [__________________________________________]
pause > nul
goto :eof
:end
echo [ end!)
echo [__________________________________________


Думаю вопросов про использование возникнуть не должно, однако поясняю:

  • Прежде всего создайте в корне диска "C" папку "KAV_UPDATE" и перепишите туда все скаченные файлы (wget.exe и unzip.exe), а также создайте тамже файл "kav7_update.cmd" в который скопируйте вышеприведенный текст сценария (без пунктирных линий "отрыва").
  • В переменную сценария с именем AVPCOM вы должны подставить полный путь к файлу avp.com, который находится в каталоге, куда был установлен антивирус (у меня этот путь выглядит так:
    C:\Program Files\KasperskyVirus7\avp.com
    у вас, вероятнее всего, по-другому).
  • Настройте антивирус так, чтобы он обновлялся только из локальной папки "C:\KAV_UPDATE"
  • Запускать этот сценарий необходимо с параметром "периода простоя". Т.е. например, если вы ставите этот сценарий в планировщик заданий на ежедневное выполнение, то параметр должен быть "daily". Если раз в неделю - параметр должен стоять "weekly", если реже - то "cumul". Лично у меня скрипт запускается ежедневно в час ночи с параметром "daily" и один раз в начале недели с параметром "weekly" (для подстраховки).
  • Для установки сценария в планировщик зайдите в меню "пуск"-"программы"-"стандартные"-"служебные"-"планировщик заданий" и создайте новое ежедневное задание, указав в качестве исполняемого файла файл с сценарием (c:\KAV_UPDATE\kav7_update.cmd)
    и главное в свойствах задачи не забудьте напечатать переменную командной строки - daily
  • Для тестирования можете создать ярлык дял файла kav7_update.cmd в котором в поле "объект" (где должен быть текст C:\KAV_UPDATE\kav7_update.cmd ) добавьте в конец строки пробел и слово daily, после чего нажмите ok и попытайтесь дважды щелкнуть ярлык, должно будет провестись ежедневное обновление.
  • Также, перед собственно "вводом сценария в эксплуатацию" запустите его с параметрами cumul, а затем weekly, чтобы антивирус обновился до начала текущей недели, т.к. ежедневное (daily) обновление включает обновления только новые сигнатуры от начала текущей недели).