АНТИВИРУСЫ НА РАЗНЫХ ЯЗЫКАХ
"Используй то, что под рукою,
и не ищи себе другое!"
(с) Филеас Фогг
"Случилось страшное"... Вы заразились. Вирус обнаружен, выделен в
чистом виде и отправлен в Москву. Лечилку обещали прислать завтра, но
начальство стучит кулаком по столу и требует продолжить работу уже в
ближайшие часы.
Но Вы - не робкого десятка и даже читали "Как пымать выря за
хвост". J Поэтому Вы в два счета выделяете сигнатуру, намечаете план
лечения и...
Собственно говоря, настоящие сложности могут возникнуть именно на
этом этапе. Попробуйте, найдите в современном офисе хоть один
компилятор с какого-нибудь языка программирования.
Вы уже чешете затылок? Давайте, мы это сделаем за Вас, а Вы в это
время будете заниматься конкретным делом.
Итак, какие средства программирования можно встретить на типичных
современных писюках.
В состав NT 4.0+ входит эмулятор одной из древних версий MSDOS, а
значит и QBASIC. В MSDOS 3.X жил GWBASIC.
Всяческие Wordы/Excelы являются частью MS Office, следовательно Вам
всегда доступны WordBasic (для версий 6.0/7.0) или VBA (для версий
97/2000).
Крупные сетевые сервера с выходом в Интернет (вернее, системный
софт, усстановленный на них) могут порадовать Вас Javой и Perlом.
Контора, разрабатывающая базы данных, часто пользуется не только
современными Clarion/Delphi/VisualBasic, но и вполне работоспособными
старенькими FoxPro/Clipper.
Студенты младших курсов постоянно таскают с собой и засеивают
окружающее пространство Turbo Pascalем. Иногда злобные преподы пытают
их при помощи Prologа.
Продвинутые студенты пытаются разобраться в программировании на C/C
++, как правило, используя продукты фирмы Borland. Начинают, как
правило, с BC 3.1, продолжают BC 5.0 Builder, закусывают Visual C++
6.0.
Наконец, нельзя забывать, что извращенцы живут среди нас. Поэтому
изредка можно споткнуться о Borland TASM или MS MASM. Далеко зашедшее
упорствование в своих извращениях приводит к неизлечимому
маньячеству... или маньяковости? Посему на просторах Родины можно
вляпаться в какие-нибудь Zortech/Symantec C++ или в JPI/TopSpeed Modula
-2/C/Pascal. Или даже в совершенно экзотический Forth.
Короче, все не так плохо, как кажется на первый взгляд. А чтобы Вам
стало еще лучше, мы подготовили примеры простейших антивирусов на
разных языках программирования. Вы можете ознакомиться с ними и
написать свой - "по образу и подобию".
Мы постарались быть разнообразными: использовать различные методы
обхода каталогов, описания сигнатур, подключения "лечилок" и пр. Начали
мы с простого:
- BASAV - на QBasic-е;
- PASAV - на Turbo/Borland Pascal-е;
- ASMAV - на языке Ассемблера (лучше использовать Tasm);
- M2AV - на TopSpeed Modula-2 (Logitech M2 не прокатит);
- CAV - на С (прекрасно компилится BC/C++ 3.1 и TopSpeed C
3,X);
- AV - на Java (см. какталог \PLUGIN).
Надеемся, что продолжение последует в следующем выпуске "ЗФ".
Исходники и бинарники (а также безобидные вирусы, послужившие
жертвами лечения) лежат в каталоге \AV_LANG.
"Удачной охоты, Каа!" (с).
---------------------------------------------------------------
(С) NF, 2000-2001
|