Антивирусные программы можно разделить на виды в соответствии с выполняемыми ими функциям:
Детекторы: программы-детекторы позволяют обнаруживать файлы, заражённые одним из нескольких известных вирусов. Некоторые программы-детекторы также выполняют эвристический анализ файлов и системных областей дисков, что часто (но отнюдь не всегда) позволяет обнаруживать новые, не известные программе-детектору, вирусы. Многие программы-детекторы позволяют также «лечить» заражённые файлы или диски, удаляя из них вирусы (разумеется, лечение поддерживается только для вирусов, известных программе-детектору).
Ревизоры: программы-ревизоры запоминают сведения о состоянии файлов и системных областей дисков, а при последующих запусках – сравнивают их состояние исходным. При выявлении несоответствий об этом сообщается пользователю. Часто ревизоры можно настроить так, чтобы они выдавали сообщения только о подозрительных (характерных для вирусов или недопустимых) изменениях, не беспокоя лишний раз пользователя. Часто программы-ревизоры позволяют также “лечить” заражённые файлы или диски, удаляя из их вирусы (это удаётся сделать почти для всех типов вирусов).
Сторожа: программы-сторожа (или фильтры) располагаются резидентно в оперативной памяти компьютера и проверяют на наличие вирусов запускаемые файлы и вставляемые в дисковод дискеты. При наличии вируса об этом сообщается пользователю. Кроме того, многие программы-сторожа перехватывают те действия, которые используются вирусами для размножения и нанесения вреда (скажем, попытку записи в загрузочный сектор или форматирование жёсткого диска), и сообщают о них пользователю. Пользователь может разрешить или запретить выполнение соответствующей операции. Программы-сторожа позволяют обнаружить многие вирусы на самой ранней стадии, когда вирус ещё не успел размножиться и что-либо испортить. Тем самым можно свести убытки от вируса к минимуму.