Файл з вірусом читаємо, робимо 16 бітний дамп, та залишаємо лише 2КБ початку файлу, та записуємо все до файлу customsig01.ndb
cat файл_з_вірусом | sigtool –hex-dump | head -c 2048 > /var/db/clamav/customsig01.ndb
Далі файл з сігнатурою потрібно відредагувати, наступним чином
HEUR.Trojan.Script.Agent.gen:0:*:2745757068656d696120
“Ім’я віруса:Тип:Зміщення:16 бітний дамп”
Де тип може бути:
- 0 = будьякий файл
- 1 = PE, Windows exe 32 та 64 біт
- 2 = OLE2 контейнер, включаючі макроси, (використовуються в MS Office та у файлах MSI)
- 3 = HTML
- 4 = Поштові файли
- 5 = Графічні файли
- 6 = ELF файли (exe для UNIX)
- 7 = ASCII файли
- 8 = не використовується
- 9 = Mach-O файли
- 10 = PDF файли
- 11 = Flash файли
- 12 = Java класи
Зміщення:
- * = будь яке
- n = абсолютне зміщення
- EOF-n = кінець файлу мінус n байт
Сігнатури для PE,ELF та Mach-O підтримують додатково:
- EP+n = точка входу плюс n байт (EP+0 для вказівки на саму EP)
- EP-n = точка входу мінус n байт
- Sx+n = початок даних секції X (починається з 0) плюс n байт
- SEx = вхід до секції Х (зміщення повинно знаходитись в межах секції)
- SL+n = початок з останьої секції плюс n байт
Перевірити як працює сігнатура можна наступною командою
clamscan -d customsig01.ndb файл_з_вірусом
Доадаткові материали:
Create Your Own Anti-Virus Signatures with ClamAV
https://github.com/vrtadmin/clamav-devel/blob/master/docs/signatures.pdf