В качастве антивирусного ядра выступает антивирусное решение clamav(https://github.com/vrtadmin/clamav-devel).
Основные функции:
1. Обновление антивирусных базе, сканирование объекта базы
Релизация:
В комопоненте реализованы следующие функции и свойтства:
Update(КаталогБазы, ПроксиСервер, Порт, Пользователь, Пароль)
Параметры:
КаталогБазы - каталог базы с антивирусными базами, тип значения Строка, по умолчанию ProgramData\ClamAV
ПроксиСервер, Порт, Пользователь, Пароль - параметры подключения через прокси сервер, типы значения Строка
Возвращаемое значение:
В случае успешного обновления баз возвращает Истина
Scan(Файл)
Параметры:
Файл - отправляемый файл на проверку, тип значения ДвоичныеДанные
Возвращаемое значение:
В случае успешного сканирования возвращает 0, инача возвращает количество найденных угроз (виросв), тип значения Число
GetLog(Очищать)
Параметры:
Очищать - позволяет указать выполнять очистку журанал выполнения функций Scan и Update
Возвращаемое значение:
Возрващает журнал выполнения функций, тип значения Строка
Свойство Viruses (Строка) - возрващает список найденные вирусов после выполнения функции Scan
Пример:
Результат = ПодключитьВнешнююКомпоненту(Путь + "clamav1c.dll", "AddIn",ТипВнешнейКомпоненты.Native);
Если Не Результат Тогда
Сообщить("Ошибка подлючения комопненты");
Возврат;
КонецЕсли;
Попытка
ClamAV1C = Новый("AddIn.AddIn.ClamAV1C");
Исключение
Сообщить("Ошибка создания объекта компоненты");
Возврат;
КонецПопытки;
Если ClamAV1C.Update() Тогда
ClamAV1C.Scan(Файл);
КонецЕсли;
Возврат ClamAV1C;
Тестовый вирус для проверки: