29 апреля 2011 г.

Разбираем nod32 для Linux

Пару недель назад появилась новость о выходе бета версии антивируса для линукс систем.
Скачать можно здесь: http://beta.eset.com/linux

Мне стало интересно, что внутри этого бинарника и как его можно установить без
инсталляции через dpkg или rpm. у меня дома 64 битный Debian, поэтому загрузил
себе версию соответствующей разрядности.

В директории с загруженным из интернета бинарником:

chmod 755 ueav.x86_64.linux


После этого бинарник можно запустить, но он сразу хочет пароля
суперпользователя для установки. Посмотрим, что он хочет. В директории /tmp/ во
время запуска появляется поддиректорий с именем подобным /tmp/epkg.uIS8sc/

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

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

Второй файл намного интереснее, это epkg.rpm

Вытаскиваем содержимое утилитой rpm2cpio (к примеру)

rpm2cpio epkg.rpm | cpio -idv


В сожалению, можно обнаружить, что в бинарниках есть жесткая привязка в
директорию /opt/ поэтому я решил сделать просто символьные линки на папку, в
которую я распаковал (перетащил) содержимое, нужны права суперпользователя.

ln -s /home/username/ESET/opt/eset /opt/eset


ну и остальные, по желанию. Если не хотите, то можно напрямую перетащить
директории с содержимым в корневой каталог. содержимое etc в /etc и далее, по списку.

Если сделали, как нужно, то в директории /etc/init.d/ появился скрипт esets,
который управляет демоном от eset:


./esets
Usage: ./esets {start|stop|restart|force-reload|reload}


В распакованном нами директории ~/ESET/opt/eset/esets/lib/ есть файл, размером
20 мегабайт: esets_modules. В нем находятся базы сигнатур, которые
распаковываются в обычном случае в /var/opt/eset/esets/lib/,
сюда же следует обновлять данные антивируса вручную, если не будет работать актуализация.

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


chown username:users /opt/eset/ -R
chown username:users /var/log/esets -R
chown username:users /var/opt/eset -R
chown username:users /etc/opt/eset -R


затем запускаем демон

/etc/init.d/esets force-reload


и после этого GUI:

/opt/eset/esets/bin/esets_gui


определить разрядность исполняемого файла можно так:

readelf -h esets_gui


загружаемые библиотеки:

ldd esets_gui


p.s. графическую оболочку для установки не запускал вообще, уж извините.

Комментариев нет:

Отправить комментарий