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