Самое сложное в работе разработчика антивируса - научить его отличать вирусные программы от официальных приложений. Они одинаково маскируются, защищаются от обнаружения, удаления пользователем. Делают они одно и то же - собирают данные, следят какие программы запускаются. Единственное отличие - отправляют сведения на разные адреса.