Если бы ты внимательно посмотрел пример поиска Массива в Массиве, то увидел бы, что точно так же можно искать НЕХ - последовательность в файле.
Что касается Антивирусов, то они поступают следующим образом -
1. Генерируют базу данных с КОНТРОЛЬНЫМИ СУММАМИ сигнатур.
2. Сканируют НЕ весь файл, а только некоторую часть от Точки Входа + РЕ заголовок.
3. Из того, что они насканировали вычисляют контрольную суму
4. Сравнивают полученную контрольную сумму с теми, что находятся в базе данных
Поэтому он так быстро и работают.
А если бы они сканировали и сравнивали непосредственно сигнатуры, то и файл с антивирусными базами занимал бы сотни мегабайт. (Одна сигнатурка занимает порядка 2-4 кбайт, а если их 40 тысяч, то файл соответственно будет 80-160 Мб)
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
|