Владислав Кононенко
Судьба резидента, или Паутина над страной
Надеюсь, что Вы уже прочитали
"Ошибку резидентного вируса" (C) ее автора; -) >.
Лично мне этот текст понравился, но, к сожалению, уровень... применяемых приемов программирования, что ли, несколько далек от современного. You can see мое мнение о необходимом техническом уровне таких произведений, оформленное в виде второй части сериала. К сожалению, в ряде мест пришлось отступить от системной правды в пользу художественной части... Вообще-то подобные вещи лучше всего писать не по-русски, а на ассемблере; -) Ну что ж - можете критиковать:
/* (C) 21-04-95, Vladislav Kononenko (2: 465/23. 103@fidonet) */ /* Описанные события не имеют ничего общего с действительностью. Всякое совпадение имен, событий и названий программ с реально существующими или происшедшими следует считать случайным. Данный текст распространяется согласно принципу "as is" - автор не гарантирует сохранение Вашего психического равновесия после прочтения... Впрочем, вряд ли; -) */
После того, как Aidstest распознал и уничтожил K-817, в среде MS-DOS наступило затишье. Юзеры радовались жизни, играли на Pentium'е в DOOM'а, UFO и Digger'a, иногда что-то печатали в Лексиконе... А совсем недалеко, в том же городе кто-то сидел за клавиатурой 386SX и упорно писал что-то на асме.
1.
Новый вирус пока не имел названия, но лично его это не беспокоило. Он привык менять имена, места проживания и внешний вид. Вот и сейчас он сидел на каком-то подвернувшемся exe'шнике в сени густого дерева каталогов апгрейднутого UFO и терпеливо ожидал, когда какому-нибудь глупому юзеру вздумается пострелять в монстров. Наконец где-то рядом щелкнула дверца дисковода. Вирус злорадно усмехнулся - жизнь юзера, польстившегося на улучшенный звук и уменьшенное количество багов, переставала быть пресной и однообразной... От размышлений вируса оторвало деликатное покашливание. Рядом стоял невысокий человек в сером костюме и, прищурившись, разглядывал его сквозь стекла очков. "Aidstest! " - сообразил вирус. Юзер, оказывается, попался не совсем глупый. Впрочем, это ему не поможет - а так даже интереснее. - Не мог ли я Вас где-то видеть? - вежливо поинтересовался человек в сером костюме. - Кого-то вы мне смутно напоминаете...
"Еще бы не напоминал" - возмутился в душе вирус. Стиль программирования, как известно, штука стойкая, и даже несмотря на то, что в нем не было ни команды из кода K-817, он слегка смахивал на него. Конечно, когда не изменял внешность. - Не думаю, - вирус нагло закрылся листингом с кучей бессмысленнейших команд типа mov al, al / ror al, cl / xor al /... - Математик я... - Упаковщик, что ли? Не по специальности работаете? полюбопытствовал Aidstest. - Ну, не совсем... Но вроде... - усмехнулся вирус. Связываться с Aidstest'ом на первых этапах внедрения в систему не стоило последствия могли быть вплоть до low-level format, а он не был камикадзе, как Халф, который ходил на задания с набитыми TNT карманами - стрелять в него было делом опасным. Кстати, его последние данные заслуживали серьезного внимания... Тут вируса сбил с мысли Aidstest, который откланялся со словами "приятно было познакомиться". "Надо же - купиться на 5 уровень полиморфности! " - подумал вирус, провожая взглядом удаляющегося Aidstest'а. "Впрочем, давно уже ходят слухи, что он собирается отойти от дел... Кстати, о делах - полиморфность полиморфностью, а подстраховка все равно не помешает... " Недалеко он видел чугунный люк с надписью VCPI... За работу! Вирус поднялся, подхватив лежавшую рядом толстую папку с нотами, и отправился искать люк.
2.
Вирус отправил в люк папку с нотами, задумчиво посмотрел на то, как она удачно разлеглась рядом с толстым оптокабелем передачи данных какого-то там уровня секретности, и пнул крышку на место. Папка - она же тщательно замаскированное устройство подстраховки - сама разберется, что делать. Он огляделся. Недалеко мигала неоновая вывеска бара "Turbo Pascal". Туда как раз входил сильно потрепанный мужик в пятнистом комбинезоне и с АКМ. Вирус вспомнил что-то смешное, осмотрелся вокруг и с хитрой улыбкой нырнул в бар вслед за автоматчиком. В баре было накурено, хрипло гремела музыка группы "Uses Crt" и мигали лампы разных примитивных видеоэффектов. Повсюду толпились прикладные программы... Искать достойного клиента не пришлось: возле стойки сидел невероятно толстый DOS Navigator в штурманской фуражке и форменном кителе с громадным количеством нашивок, медалей и прочих знаков отличия, среди которых выделялась громадная медаль с надписью по диагонали "Registered" и каким-то длинным номером, и что-то втолковывал мрачно слушающим его Лексикону и Нортону. Вирус с рассеянным видом облокотился на стойку по соседству с компанией, заказал кружку пива "Two +'s" и, делая вид, что прихлебывает из кружки (во-первых, он был непьющим, а во-вторых, терпеть не мог объектов), прислушался к разговору...
-... заставить, раз сам не хочет! - горячился DOS Navigator. У меня учитесь - сначала работаешь за так, чтобы привыкли и обойтись не могли, а потом - даешь официальную регистрацию! Выкидываешь лозунги через каждые 5 минут - и посмотрим, сколько продержится! Некоторые, правда, фальшивые купюры подсунуть пытаются, но тут уж смотреть надо - я тогда такой кошачий концерт устраиваю... Нортон сосредоточился на пиве и пропускал эти пространные рассуждения мимо ушей - с папой в Америке, где, как известно, юзеры богатые и непуганые, он мог себе позволить жить свободно... Лексикон мрачно слушал и обдумывал какие-то планы. Заметно было, что дальше обдумывания он не пойдет. - Точно, только так с ними и надо! - вклинился вирус. - Юзеров надо в страхе держать! - Свободной от пива рукой он дружески похлопал Навигатора по спине. - Кого держать? - не понял тот. - Этих, пользователей... Да ты вот его спроси! - Вирус приглашающе махнул пивом автоматчику. Тот мгновенно сориентировался, подскочил и схватил протянутое пиво с таким видом, будто не пил несколько лет. Впрочем, так оно и было. Вирус усмехнулся про себя - в кружке пива уже было меньше, чем LCD. - Кто такой? - удивленно осведомился Навигатор. - Anti-Kot я... - Глаза автоматчика, отхлебнувшего в один прием примерно всю кружку, полезли на лоб и там медленно разъехались в стороны. - Ну и интерфейс у тебя... Когда писали-то? - Что ты понимаешь, самый прогрессивный интерфейс среди антивирусов... был в свое время, - обиделся Anti-Kot. - Такого звука ни у кого не было! - А теперь как? - поинтересовался Лексикон, которому этот стиль понравился. DOS Navigator, потеряв интерес к беседе, отвернулся к стойке, обнаружив на спине аккуратно выведенные мелом буквы "MsDos". Anti-Kot поперхнулся пивом, схватился за автомат и с неразборчивим воплем "я-то думал, что я давно всех... " всадил Навигатору в надпись полмагазина. Нортон, как военный и офицер, сориентировался раньше всех (кроме вируса, конечно) и нырнул под прикрытие стойки. Лексикон попытался сделать ноги, но был замечен и наделен оставшейся частью магазина. Заварушка только начиналась - запасных магазинов у Анти-Кота было много... Разумеется, все это не имело никакого отношения к вирусу, который в данный момент не торопясь шел прочь от бара, слегка усмехаясь и невнимательно прислушиваясь к очередям и крикам посетителей и персонала. Он был принципиальным противником регистрации софта, - кроме незаконной, конечно...
3.
После такого развлечения можно было и поработать всерьез. Вирус уже почти успел продумать очередную пакость, когда его отвлекли две смутно видимые из-за расстояния фигуры, явно двигавшиеся ему навстречу. Присмотревшись получше, вирус метнулся в ближайшую поддиректорию - связываться сразу с ADinf'ом и ADinfExt'ом ему не хотелось... Прижавшись к стене, он лихорадочно шарил по карманам. Где же?.. - Так, а тут у нас кто-то новый... - Перед ним выросла затянутая в спецназовскую форму фигура ADinf'а. - Что, документы ищешь? А документы без надобности, у меня свои списки... "Еще бы их не было" - подумал вирус, наконец нашарив среди прочих мелочей типа стелс-накидок и антитрассировочных газовых гранат безобидную с виду трубку... - А это еще что? - Похоже, ADinf наконец отыскал в списках место, соответствующее этой директории. - Сюда! Тут ви... Вирус мгновенно поднес трубку ко рту, и игла с гипнонаркотиком воткнулась точно в сонную артерию ADinf'а. - Эй! Что там у тебя? - донесся крик ADinfExt'а. - Помощь не нужна? - Все благополучно, - подсказал вирус. - Проверяй дальше. Да построже, - он с трудом сдержал усмешку, подталкивая ADinf'а к выходу в директорию уровнем выше. - Все... благополучно... - повторил ADinf и зашагал к выходу.
Вирус слегка расслабился - это был действительно серьезный противник. Но для отдыха не было времени. Подавив желание немного поразвлекаться с видеофонтами, он открыл отмычкой ближайшую дверь с надписью "Int 13h. Служебный вход! Только для квалифицированного персонала! " и проскользнул внутрь... Разумеется, поставить на место fn 02/03 более современные 0Ah/0Bh не было чем-то новым и оригинальным, но юзеров это порядком удивляло.
4.
Сидя на каком-то подвернувшемся eхешнике, вирус отдыхал. Миссия была практически выполнена. Можно было отправляться дальше, распространяясь по всей стране, вгоняя в дрожь юзеров и вызывая почтительное уважение системщиков. Он уже почти продумал финальный видеоэффект, когда его отвлек какой-то шум за спиной. Как оказалось, сзади к нему приближались трое чем-то неуловимо похожих личностей: Небритый автоматчик в пятнистом комбинезоне, с забинтованной головой и несколько асимметричным фейсом. Ночь в баре явно не пошла Anti-Kot'у впрок. Невысокий человек в круглых очках, сером костюме и с огромным револьвером. Хотя Aidstest и собирался уходить в отставку, он все еще был боеспособен. И какая-то неизвестная вирусу личность... впрочем, неизвестная ли? Именно о нем говорилось в последнем сообщении Халфа. Третьим был человек в белом докторском халате, марлевой маске, шапочке и с солидного размера саквояжем, на котором было крупными буквами написано "Dr. WEB". Как раз в этот момент он, шаря по карманам, бормотал: "Где же я его видел? " - причем смотрел он явно на вируса. Вирус попытался применить стандартный прием, закрывшись листингом, но доктор аккуратно отодвинул мешающую обзору громадную пачку бумаги в сторону и уставился на него в упор. - Молодой человек, вы где, собственно, сидите? "Глупый вопрос. Но что-то ответить надо... " - Э-э... Работа у меня такая... Упаковщик я, - неудачно соврал вирус. - Что-то не припоминаю я упаковщика с такой внешностью... Позвольте-ка... - доктор наконец извлек из какого-то кармана распечатку с заголовком "New viruses". - Ребята! Вирус!!! "Провал! " - Artificial Intelligence вируса мгновенно перешел в режим противодействия антивирусу. Он выхватил из внутреннего кармана стелс-накидку, и выстрелы Anti-Kot'а и Aidstest'а пришлись в пустое место, откуда только что метнулась за их спины смутная тень. - Где он? - Anti-Kot вставил новый магазин и нервно осматривался. Вирус у него за спиной неслышно хихикнул и постарался пнуть его так, чтобы пинок казался направленным со стороны Aidstest'а, пригнувшегося рядом и отчаянно пытающегося обнаружить противника. Автоматчик резко обернулся - и его ожидания более чем оправдались: на спине Aidstest'а отчетливо виднелись широко известные 5 букв... Автоматная очередь слилась с криком "Предатель! " и грохотом старого безотказного кольта - все-таки Aidstest был профессионалом... Оставшийся в одиночестве доктор сорвал шапочку, и сверкнувшее на его лбу зеркало высветило возле двух поверженных антивирусов полупрозрачную фигуру вируса. Тот резко обернулся, выхватывая из кармана что-то прямоугольное, и успел увидеть, как пригнувшийся доктор выдернул из-под халата "Ингрэм"... Несколько десятков пуль с высокой начальной скоростью прервали его недолгое, но насыщенное существование.
--
Конец? Ну уж нет! Какой может быть конец, если миссия так и не была завершена? Что? Вы говорите, что вирус уничтожен? С чего вы взяли? Ах, "Ингрэм"? Это, конечно, убедительный аргумент... Но тут есть еще кое-что... Из последней информации Халфа: Данилов не любит лезть в код дальше, чем необходимо. И это было учтено при создании того самого устройства подстраховки, о котором вы уже совершенно забыли, и первая часть работы которого как раз началась...
5.
Как только вживленный в сердце вируса датчик прекратил подачу сигналов, антенны устройства подстраховки зафиксировали факт клинической смерти и подали сигнал на исполнительные устройства... Кстати, нотной папки как таковой уже не было. Ее функция заключалась в основном в сборке постоянно поставляемых вирусами-агентами деталей громадного устройства - не мог же вирус тащить с собой все эти десятки килобайт, так ведь и повернуться трудно, не то что действовать и перемещаться... К счастью, все детали уже были на своих местах, и оставалось только дать сигнал к действию - который и был только что получен. Немедленно была приведена в действие система срочной дистанционной реанимации...
--
- Ты смотри, какой живучий! - Это было первым, что услышал воскресший вирус. Над ним стоял доктор с "Ингрэмом" и внимательно его рассматривал. - Стараюсь, - привычно усмехнулся вирус, легко поднимаясь на ноги. Теперь они стояли друг против друга - два вечных противника... - Неплохая реализация... Однако я вынужден тебя уничтожить. На этот раз ошибка недопустима. Человек в белом халате засунул "Ингрэм" куда-то в недра своего одеяния, распахнул саквояж, извлек оттуда внушительных размеров гранатомет и тщательно прицелился. - Это еще одна твоя ошибка, - улыбаясь, вирус достал портативную рацию и нажал отдельно расположенную кнопку... Из люков VCPI ударили фиолетовые лучи, нацеленные на вируса. Это было его самым последним и наиболее секретным оружием первый полиморф-генератор уровня 7, реализующий полную полиморфность всего вируса. Громадная работа по его созданию была завершена совсем недавно, и сейчас генератор полностью оправдывал возложенные на него ожидания... Фигура вируса заколебалась, как отражение в воде, преобразуясь в сверкающее фиолетовыми вспышками облако. Выпущенная точно в его центр граната прошла насквозь, не нанеся ущерба, и снесла несколько поддиректорий позади (когда-то такое уже было промелькнуло в AI вируса)... - I'll be back, - успел проинформировать вирус, окончательно преобразуясь в облако. Облако взмыло вверх и ушло куда-то в сторону кварталов рабочих утилит, по пути поразив лучом паспортные архивы ADinf'а...
Эпилог.
Где-то в Ленинграде человек, которого я никогда не видел, сидел за монитором компьютера, про который я ничего не знаю, и переписывал код... А где-то в то же время, но совершенно в другом месте кто-то сидел за той же 386SX...
To be continued? Maybe...
Кажется, сейчас стало традицией объяснять, как можно поддержать автора данного начинания? Ну что ж... Если вы прочли и вам так понравилось, что вы хотите мне чем-то помочь - мой FIDO-адрес есть в начале текста. Впрочем, вряд ли я стану писать продолжение - нет времени... Если кому-то просто хочется поговорить про вирусы - пишите по тому же адресу... А еще я иногда пишу антивирусы... Впрочем, в последнее время редко. Надоели примитивные вариации на тему boot и нерезидентных com-вирусов...
|\___/|
/ ( ` ~_\ Foxy @__/^