Clamav и проверка RAR архивов версии 3

Всем известно, что в антивирусную программу clamav встроена проверка RAR архивов версии 2, однако большенство пользователей используют для создания своих архивов RAR версии 3 и практически уже никто не использует 2-ю версию, разработчики clamav не хотят встраивать поддержку 3-ей версии из-за лицензионных разногласий между новой версией libunrar, со своей более строгой лицензией, и clamav, который написан под GPL. Пока идут дебаты на тему включать или не включать libunrar v.3 в clamav, мною была предпринята попытка реализовать эту функциональность самостоятельно, поэтому далее будет описан процесс, как скрестить libunrar v.3 с последней версией clamav(на данном этапе - 0.80).

[McMCC (mcmcc AT mail DOT ru)]

Clamav и проверка RAR архивов версии 3.


Всем известно, что в антивирусную программу clamav встроена проверка RAR архивов версии 2, однако большенство пользователей используют для создания своих архивов RAR версии 3 и практически уже никто не использует 2-ю версию, разработчики clamav не хотят встраивать поддержку 3-ей версии из-за лицензионных разногласий между новой версией libunrar, со своей более строгой лицензией, и clamav, который написан под GPL. Пока идут дебаты на тему включать или не включать libunrar v.3 в clamav, мною была предпринята попытка реализовать эту функциональность самостоятельно, поэтому далее будет описан процесс, как скрестить libunrar v.3 с последней версией clamav(на данном этапе - 0.80).

В начале нужно собрать и установить последнюю версию libunrar, для этого идем на ftp://ftp.rarlab.com/rar и скачиваем исходники последней libunrar, ftp://ftp.rarlab.com/rar/unrarsrc-3.4.3.tar.gz . Что бы собрать libunrar в нужном нам виде, необходимо наложить этот патч - unrar-3.4.3_fix.patch, сборку осуществляем как:

make -f makefile.unix lib

Устанавливаем следующим образом:

install -s -D -m 755 libunrar3.so /usr/lib/libunrar3.so
install -D -m 600 dll.hpp /usr/include/libunrar3/dll.hpp

На этом установку libunrar можно считать законченой. Для систем на базе rpm пакетов, можно скачать готовые rpm'ки:
TAR_BZ2:
libunrar3-3.4.3.tar.bz2
RPMS:
libunrar3-3.4.3-1.i386.rpm
SRPMS:
libunrar3-3.4.3-1.src.rpm

Следущим этапом берем свежий clamav из CVS, http://www.clamav.net/snapshot.html#pagestart, можно взять мой архив(за 21.10.2004), в котором включены все нужные патчи:
TAR_BZ2:
clamav-0.80-1.mc.tar.bz2

После того, как выкачен свеженький clamav из CVS, нужно наложить этот патч - clamav-libunrar3.patch, затем обязательно выполнить 3и команды:
aclocal
autoconf
automake

Далее как обычно, конфигурим, собираем и устанавливаем clamav...

Мною подготовлены рабочие rpm пакеты, которые не требуют каких либо настроек и работать начинают сразу после установки, но в них отсутствует сборка milter плагина для sendmail'а, при желании ее можно включить, если будете пересобирать из srpm, для этого в spec файле надо выставить _without_milter в 0.
RPMS:
clamav-0.80-1.fc1.i386.rpm
clamav-devel-0.80-1.fc1.i386.rpm
SRPMS:
clamav-0.80-1.fc1.src.rpm
После установки rpm пакетов даем следущие команды:
service freshclam start
service clamd start
и на этом можно считать установку законченной...

Теперь немного о том, что сделано:
- Проверка саморасспаковывающихся exe архивов созданных RAR 2/3.x
- Проверка обычных rar архивов созданных RAR 2/3.x
- Непроверяются запароленые архивы, битые, неизвестного формата и
  многотомные, им выставляется флаг, что они нормальные:)...

Все архивы, которые касаются данной темы, вы можете скачать отсюда:
http://mcmcc.bat.ru/clamav/


Copyright (C) 2004 McMCC <mcmcc@mail.ru>

[ опубликовано 26/10/2004 ]

McMCC (mcmcc AT mail DOT ru) - Clamav и проверка RAR архивов версии 3   Версия для печати