АНТИВИРУСЫ НА РАЗНЫХ ЯЗЫКАХ "Используй то, что под рукою, и не ищи себе другое!" (с) Филеас Фогг "Случилось страшное"... Вы заразились. Вирус обнаружен, выделен в чистом виде и отправлен в Москву. Лечилку обещали прислать завтра, но начальство стучит кулаком по столу и требует продолжить работу уже в ближайшие часы. Но Вы - не робкого десятка и даже читали "Как пымать выря за хвост". 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 |