Исходник программы, показывающей пример создания антивируса основанного на алгоритме поиска сигнатур в файлах (алгоритм Боера Мура). Имеется встроенный контроль запуска процессов, реализована поддержка проверки ZIP и RAR архивов - Автор Василевский Дмитрий (BlackCash).
xCore Signature Checker Engine, далее "движок", создан на языке программирования Borland Delphi (Object Pascal). Версия движка 2.0.6 скомпилирована на Borland Delphi 7. Движок имеет форму библиотеки подключаемой к программе которая будет взаимодействовать с ним.
Технические характеристики:
Движок использует алгоритм Боера Мура для поиска сигнатур в файлах. В движке поддерживаются следующие виды сигнатур:
1. HEX сигнатура, имеет вид хекс строки без маски (Wildcards). 2. HEX сигнатура с маской, имеет вид хекс строки в которой допустимо использовать следующие маски: * - Пропуск неизвестного количества баит ?? - Пропуск неизвестного байта {n} - Пропуск n байт {-n} - Пропуск n или меньше байт {n-} - Пропуск n или больше байт (aa|bb|cc) - Выбор одного из альтернативных байт
При записи HEX сигнатуры возможно указание следующих смещений для поиска:
* Поиск по всему файлу EP+n - Поиск в позиции от точки входа в РЕ файл + n байт EP-n - Поиск в позиции от точки входа в РЕ файл - n байт Sx+n - Поиск в позиции от секции x РЕ файла + n байт Sx-n - Поиск в позиции от секции x РЕ файла - n байт EOF-n - Поиск в позиции от конца файла - n байт N - Поиск в позиции n байт LS+/-n - Поиск в позиции +/-n байт от начала последней секции PE файла
Примечание: в сигнатуре и ее отдельной части должны присутствовать как минимум два стабильных байта не ограниченных маской. Например: 5c00{-50}2e00(5c|00|53)*004f00??00??00????
3. MD5 сумма файла. 4. MD5 сумма секции файла (только для Windows PE файлов). 5. MD5 белого файла. 6. Ложные сигнатуры (указывается имя ложной сигнатуры).
Во время сканирования файла движок определяет его тип и использует сигнатуры характерные данному типу файлов. Определяемые типы файлов:
• XC_TYPE_OTHER – Файлы не определенные движком. • XC_TYPE_PE – Файлы Windows PE. • XC_TYPE_GRAPHIC – Файлы изображений. • XC_TYPE_PDF