http://www.insidepro.com/kk/110/110r.shtml
Эвристика - это одно из многих buzzwords конца XX - начала XXI века, то есть ученое или специальное словечко, способное произвести впечатление на непосвящённого. Это усилительное (часто бессмысленное) слово, используемое в профессиональном жаргоне для придания продукту тех черт, которыми он не обладает, или обладает, но совсем не в той мере.
Идея эвристики уходит корнями в эпоху ранней юности MS-DOS и в общих чертах сводится к выявлению признаков, часто встречающихся в вирусах, но практически никогда - в легальных программах. Тогда это было легко! Код вируса писался на чистом ассемблере и укладывался в линейную структуру, которую легко "переваривал" эмулятор, распознающий ряд заложенных в него шаблонов. Например, если функция FindFist вызывалась с маской *.com или *.exe, это давало основание предположить, что мы имеем дело с программой внедряющейся в исполняемые файлы. Но стоило зашифровать маску, использовать самомодифицирующийся код или другие хитрые приемы, как эвристик шел лесом. Шаблонный поиск уже не работал, а на полный анализ не хватало вычислительной мощности и, хотя существовали эвристики, срабатывающие в 90% случаев (реальных 90%, а не "макетоидных"), большого распространения они не получили, поскольку требовали огромного времени на анализ, а пользователь - он, как известно, ждать не любит.
Сейчас вычислительные мощности многократно возросли, но вместе с ними возросла и сложность вирусов. На место ассемблера пришли языки высокого уровня, линейный код распался и вирус превратился в запутанный клубок функций, взаимодействующих друг с другом самым невероятным образом. Сравните структуру вируса Boot/Brain.A, написанного в далеком 1984 году с червем W32/Bagle.AG@mm, созданным двадцать лет спустя - в 2004.
[553x415]
Рисунок 4. Структура вируса Boot/Brain.A, написанного в 1984 году.
[554x311]
Рисунок 5. Структура червя W32/Bagle.AG, написанного в 2004 году.
Даже если антивирусу удастся побороть упаковщик и передать эвристику распакованный код... никаких вирусных признаков ему все равно там ни за что не обнаружить, ну разве что это будет совсем пионерский вирус. Наличие незашифрованных текстовых строк с ключами реестра, ответственными за автозапуск, имен исполняемых файлов антивирусных программ, команд в стиле "rm -rf /" с высокой степенью указывает на зловредную программу, но... их очень легко зашифровать.