Pull to refresh

Мой первый антивирус

Мы привыкли понимать под понятием «антивирус» некое программное обеспечение, которое защищает ваш компьютер от различных напастей — вирусов, нежелательного ПО и прочих событий, которые могут причинить вред пользователю. Но, если понимать буквально, то название «антивирус» совсем не обещает нам вышеперечисленных благ, а лишь предлагает нам защиту от одного вируса (антивирус). Об этом в топике.

Когда я учился на втором курсе, мы с моим другом только начинали программировать и нам было интересно написать что нибудь действительно стоящее, что заинтересует не только нас. Как раз именно в это время на курсе гулял страшно надоедливый вирус, который на тот момент не могла найти ни одна популярная антивирусная программа. Этот факт нас очень удивил и мы решили, что ударимся в написание «заплатки» для искоренения этого вируса.

Первым делом мы начитались различных статей в интернете про виды вирусов, как работают коммерческие антивирусы и многое другое, что могло бы нам помочь в написании этой программы. Так мы начали наблюдать за поведением зараженных объектов и вывели последовательность, которая и стала основой для программы. Попадая в папку, вирус скрывал ее, заменяя такой же, но с расширением .exe. Многие подумают, что это обыкновенное дело и любой антивирус без труда справится с этим сейчас, но тогда это было новым для нас и ни одна программа не могла обнаружить этот вред. Более того, каждый созданный им exe файл имел одинаковый размер (округлив до 4,17 Кб). Именно это стало основным критерием для поиска зараженных файлов.

Алгоритм действия программы был прост:
1. Сканирование указанного места на диске на наличие файлов данного размера (мы взяли от 4 Кб до 4,3 Кб, для подстраховки)
2. При нахождении такого файла начинался поиск скрытой папки с таким же именем и изменение ее атрибутов (снятие скрытия)
3. Удаление файла с расширением .exe
4. Запись события в log

Так как это было началом для нашей программистской деятельности, то мы изрядно помучались с изменением атрибутов и реализацией программы вообще, но неугасающий интерес двигал нас вперед. Через три дня денно-ночного кодирования мы получили готовую утилиту. В ходе написания мы осуществляли проверку в основном на «искусственно созданных» файлах, поэтому нам нетерпелось проверить себя в действии на настоящем вирусе. Вооружившись несколькими «жесткими» с курса мы стали тестировать наше творение. Как и ожидалось, возникали проблемы, но на их отладку мы потратили не более часа.

В итоге, мы получили полезные навыки программирования, которые пригодились нам в будущем и нескончаемое удовлетворение от того, что смогли помочь однокурсникам, которых данный антивирус успел изрядно достать. Где то через месяц я увидел этот вирус на компьютерах на кафедре в институте, но последние обновления NOD32 прекрасно справились с ним и мы оставили свой «антивирус» на память, как первую совместную программу.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.