LINUX.ORG.RU

Wine: антивирусная проверка «на лету» своими руками


0

0

Навеяно сабжем http://www.linux.org.ru/view-message.jsp?msgid=3207884&lastmod=1225758991075

Я подумал, можно ли зделать антивирусную проверку exe-шника перед запуском штатными средствами, не ставя громоздкий виндовый антивирус на Wine.

В результате написал небольшой скриптик:

#!/bin/bash
# Дополнение пути к исполняемому файлу,
# т. к. wine понимает только полные пути
if [ `echo $1 | cut -c 1` != "/" ]
then
PAT=$PWD/$1
fi
# Собственно проверка файла антифирусом clamav;
# cut извлекает из отчета о сканировании
# цифру -- количество инфицированных файлов,
# если она равна нулю -- запускает файл,
# иначе -- выводит предупредительное сообщение
echo "Сканирование файла..."
SUM=`clamscan -i "$PAT"`
if [ `echo $SUM | cut -d " " -f 19` = 0 ]
then
echo "Файл безопасен. Запуск WINE..."
/usr/bin/wine $PAT
else
echo "Файл инфицирован и не может быть запущен."
exit 1
fi
exit 0

Я назвал скрипт -- prewine, и добавил в ~/.bashrc алиас:

alias wine='prewine'

P.S. Это конечно не совсем "на лету", т.к. всякие dll-ки и exe-шники, запускаемые другими exe-шниками, не проверяются, но от мелких вирусов, часто встречающихся на флэшках с autorun.inf, в самораспаковывающихся архивах, "инсталяках" и небольших программах, скрипт должен защитить.

anonymous

Re: Wine: антивирусная проверка "на лету" своими руками

Ошибочка в скрипте нашлась: если путь полный, то переменная PAT оказывается пустой.

Исправленный вариант:

#!/bin/bash
PAT=$1
# Дополнение пути к исполняемому файлу,
# т. к. wine понимает только полные пути
if [ `echo $PAT | cut -c 1` != "/" ]
then
PAT=$PWD/$PAT
fi
# Собственно проверка файла антифирусом clamav;
# cut извлекает из отчета о сканировании
# цифру -- количество инфицированных файлов,
# если она равна нулю -- запускает файл,
# иначе -- выводит предупредительное сообщение
echo "Сканирование файла..."
SUM=`clamscan -i "$PAT"`
if [ `echo $SUM | cut -d " " -f 19` = 0 ]
then
echo "Файл безопасен. Запуск WINE..."
/usr/bin/wine $PAT
else
echo "Файл инфицирован и не может быть запущен."
exit 1
fi
exit 0

anonymous ()

Re: Wine: антивирусная проверка "на лету" своими руками

похвально, может пригодится

z0D5e8n7x ()

Re: Wine: антивирусная проверка "на лету" своими руками

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

OxiD ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.