Владислав Кононенко. Судьба резидента, или Паутина над страной
Надеюсь, что Вы уже прочитали "Ошибку резидентного вируса" <здесь должен быть
(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 и упорно писал что-то на асме.
Новый вирус пока не имел названия, но лично его это не
беспокоило. Он привык менять имена, места проживания и внешний
вид. Вот и сейчас он сидел на каком-то подвернувшемся exe'шнике
в сени густого дерева каталогов апгрейднутого UFO и терпеливо
ожидал, когда какому-нибудь глупому юзеру вздумается пострелять
в монстров.
Наконец где-то рядом щелкнула дверца дисковода. Вирус злорадно
усмехнулся - жизнь юзера, польстившегося на улучшенный звук и
уменьшенное количество багов, переставала быть пресной и
однообразной...
От размышлений вируса оторвало деликатное покашливание. Рядом
стоял невысокий человек в сером костюме и, прищурившись,
разглядывал его сквозь стекла очков.
"Aidstest! " - сообразил вирус. Юзер, оказывается, попался не
совсем глупый. Впрочем, это ему не поможет - а так даже
интереснее.
- Не мог ли я Вас где-то видеть? - вежливо поинтересовался
человек в сером костюме. - Кого-то вы мне смутно напоминаете...
"Еще бы не напоминал" - возмутился в душе вирус. Стиль
программирования, как известно, штука стойкая, и даже несмотря
на то, что в нем не было ни команды из кода K-817, он слегка
смахивал на него. Конечно, когда не изменял внешность.
- Не думаю, - вирус нагло закрылся листингом с кучей
бессмысленнейших команд типа mov al, al / ror al, cl / xor al
/... - Математик я...
- Упаковщик, что ли? Не по специальности работаете? -
полюбопытствовал Aidstest.
- Ну, не совсем... Но вроде... - усмехнулся вирус. Связываться
с Aidstest'ом на первых этапах внедрения в систему не стоило -
последствия могли быть вплоть до low-level format, а он не был
камикадзе, как Халф, который ходил на задания с набитыми TNT
карманами - стрелять в него было делом опасным. Кстати, его
последние данные заслуживали серьезного внимания... Тут вируса
сбил с мысли Aidstest, который откланялся со словами "приятно
было познакомиться".
"Надо же - купиться на 5 уровень полиморфности! " - подумал
вирус, провожая взглядом удаляющегося Aidstest'а. "Впрочем,
давно уже ходят слухи, что он собирается отойти от дел...
Кстати, о делах - полиморфность полиморфностью, а подстраховка
все равно не помешает... " Недалеко он видел чугунный люк с
надписью VCPI...
За работу! Вирус поднялся, подхватив лежавшую рядом толстую
папку с нотами, и отправился искать люк.
Вирус отправил в люк папку с нотами, задумчиво посмотрел на
то, как она удачно разлеглась рядом с толстым оптокабелем
передачи данных какого-то там уровня секретности, и пнул крышку
на место. Папка - она же тщательно замаскированное устройство
подстраховки - сама разберется, что делать.
Он огляделся. Недалеко мигала неоновая вывеска бара "Turbo
Pascal". Туда как раз входил сильно потрепанный мужик в
пятнистом комбинезоне и с АКМ. Вирус вспомнил что-то смешное,
осмотрелся вокруг и с хитрой улыбкой нырнул в бар вслед за
автоматчиком.
В баре было накурено, хрипло гремела музыка группы "Uses Crt"
и мигали лампы разных примитивных видеоэффектов. Повсюду
толпились прикладные программы...
Искать достойного клиента не пришлось: возле стойки сидел
невероятно толстый DOS Navigator в штурманской фуражке и
форменном кителе с громадным количеством нашивок, медалей и
прочих знаков отличия, среди которых выделялась громадная
медаль с надписью по диагонали "Registered" и каким-то длинным
номером, и что-то втолковывал мрачно слушающим его Лексикону и
Нортону. Вирус с рассеянным видом облокотился на стойку по
соседству с компанией, заказал кружку пива "Two +'s" и, делая
вид, что прихлебывает из кружки (во-первых, он был непьющим, а
во-вторых, терпеть не мог объектов), прислушался к разговору...
-... заставить, раз сам не хочет! - горячился DOS Navigator. -
У меня учитесь - сначала работаешь за так, чтобы привыкли и
обойтись не могли, а потом - даешь официальную регистрацию!
Выкидываешь лозунги через каждые 5 минут - и посмотрим, сколько
продержится! Некоторые, правда, фальшивые купюры подсунуть
пытаются, но тут уж смотреть надо - я тогда такой кошачий
концерт устраиваю...
Нортон сосредоточился на пиве и пропускал эти пространные
рассуждения мимо ушей - с папой в Америке, где, как известно,
юзеры богатые и непуганые, он мог себе позволить жить
свободно... Лексикон мрачно слушал и обдумывал какие-то планы.
Заметно было, что дальше обдумывания он не пойдет.
- Точно, только так с ними и надо! - вклинился вирус. - Юзеров
надо в страхе держать! - Свободной от пива рукой он дружески
похлопал Навигатора по спине.
- Кого держать? - не понял тот.
- Этих, пользователей... Да ты вот его спроси! - Вирус
приглашающе махнул пивом автоматчику. Тот мгновенно
сориентировался, подскочил и схватил протянутое пиво с таким
видом, будто не пил несколько лет. Впрочем, так оно и было.
Вирус усмехнулся про себя - в кружке пива уже было меньше, чем
LCD.
- Кто такой? - удивленно осведомился Навигатор.
- Anti-Kot я... - Глаза автоматчика, отхлебнувшего в один
прием примерно всю кружку, полезли на лоб и там медленно
разъехались в стороны.
- Ну и интерфейс у тебя... Когда писали-то?
- Что ты понимаешь, самый прогрессивный интерфейс среди
антивирусов... был в свое время, - обиделся Anti-Kot. - Такого
звука ни у кого не было!
- А теперь как? - поинтересовался Лексикон, которому этот
стиль понравился.
DOS Navigator, потеряв интерес к беседе, отвернулся к стойке,
обнаружив на спине аккуратно выведенные мелом буквы "MsDos".
Anti-Kot поперхнулся пивом, схватился за автомат и с
неразборчивим воплем "я-то думал, что я давно всех... " всадил
Навигатору в надпись полмагазина.
Нортон, как военный и офицер, сориентировался раньше всех
(кроме вируса, конечно) и нырнул под прикрытие стойки. Лексикон
попытался сделать ноги, но был замечен и наделен оставшейся
частью магазина. Заварушка только начиналась - запасных
магазинов у Анти-Кота было много...
Разумеется, все это не имело никакого отношения к вирусу,
который в данный момент не торопясь шел прочь от бара, слегка
усмехаясь и невнимательно прислушиваясь к очередям и крикам
посетителей и персонала. Он был принципиальным противником
регистрации софта, - кроме незаконной, конечно...
После такого развлечения можно было и поработать всерьез.
Вирус уже почти успел продумать очередную пакость, когда его
отвлекли две смутно видимые из-за расстояния фигуры, явно
двигавшиеся ему навстречу. Присмотревшись получше, вирус
метнулся в ближайшую поддиректорию - связываться сразу с AD
inf'ом и ADinfExt'ом ему не хотелось...
Прижавшись к стене, он лихорадочно шарил по карманам. Где
же?..
- Так, а тут у нас кто-то новый... - Перед ним выросла
затянутая в спецназовскую форму фигура ADinf'а. - Что,
документы ищешь? А документы без надобности, у меня свои
списки...
"Еще бы их не было" - подумал вирус, наконец нашарив среди
прочих мелочей типа стелс-накидок и антитрассировочных газовых
гранат безобидную с виду трубку...
- А это еще что? - Похоже, ADinf наконец отыскал в списках
место, соответствующее этой директории. - Сюда! Тут ви...
Вирус мгновенно поднес трубку ко рту, и игла с гипнонаркотиком
воткнулась точно в сонную артерию ADinf'а.
- Эй! Что там у тебя? - донесся крик ADinfExt'а. - Помощь не
нужна?
- Все благополучно, - подсказал вирус. - Проверяй дальше. Да
построже, - он с трудом сдержал усмешку, подталкивая ADinf'а к
выходу в директорию уровнем выше.
- Все... благополучно... - повторил ADinf и зашагал к выходу.
Вирус слегка расслабился - это был действительно серьезный
противник. Но для отдыха не было времени. Подавив желание
немного поразвлекаться с видеофонтами, он открыл отмычкой
ближайшую дверь с надписью "Int 13h. Служебный вход! Только для
квалифицированного персонала! " и проскользнул внутрь...
Разумеется, поставить на место fn 02/03 более современные
0Ah/0Bh не было чем-то новым и оригинальным, но юзеров это
порядком удивляло.
Сидя на каком-то подвернувшемся eхешнике, вирус отдыхал.
Миссия была практически выполнена. Можно было отправляться
дальше, распространяясь по всей стране, вгоняя в дрожь юзеров и
вызывая почтительное уважение системщиков.
Он уже почти продумал финальный видеоэффект, когда его отвлек
какой-то шум за спиной. Как оказалось, сзади к нему
приближались трое чем-то неуловимо похожих личностей:
Небритый автоматчик в пятнистом комбинезоне, с забинтованной
головой и несколько асимметричным фейсом. Ночь в баре явно не
пошла Anti-Kot'у впрок.
Невысокий человек в круглых очках, сером костюме и с огромным
револьвером. Хотя Aidstest и собирался уходить в отставку, он
все еще был боеспособен.
И какая-то неизвестная вирусу личность... впрочем, неизвестная
ли? Именно о нем говорилось в последнем сообщении Халфа.
Третьим был человек в белом докторском халате, марлевой маске,
шапочке и с солидного размера саквояжем, на котором было
крупными буквами написано "Dr. WEB". Как раз в этот момент он,
шаря по карманам, бормотал: "Где же я его видел? " - причем
смотрел он явно на вируса.
Вирус попытался применить стандартный прием, закрывшись
листингом, но доктор аккуратно отодвинул мешающую обзору
громадную пачку бумаги в сторону и уставился на него в упор.
- Молодой человек, вы где, собственно, сидите?
"Глупый вопрос. Но что-то ответить надо... "
- Э-э... Работа у меня такая... Упаковщик я, - неудачно соврал
вирус.
- Что-то не припоминаю я упаковщика с такой внешностью...
Позвольте-ка... - доктор наконец извлек из какого-то кармана
распечатку с заголовком "New viruses". - Ребята! Вирус!!!
"Провал! " - Artificial Intelligence вируса мгновенно перешел
в режим противодействия антивирусу. Он выхватил из внутреннего
кармана стелс-накидку, и выстрелы Anti-Kot'а и Aidstest'а
пришлись в пустое место, откуда только что метнулась за их
спины смутная тень.
- Где он? - Anti-Kot вставил новый магазин и нервно
осматривался. Вирус у него за спиной неслышно хихикнул и
постарался пнуть его так, чтобы пинок казался направленным со
стороны Aidstest'а, пригнувшегося рядом и отчаянно пытающегося
обнаружить противника.
Автоматчик резко обернулся - и его ожидания более чем
оправдались: на спине Aidstest'а отчетливо виднелись широко
известные 5 букв...
Автоматная очередь слилась с криком "Предатель! " и грохотом
старого безотказного кольта - все-таки Aidstest был
профессионалом...
Оставшийся в одиночестве доктор сорвал шапочку, и сверкнувшее
на его лбу зеркало высветило возле двух поверженных антивирусов
полупрозрачную фигуру вируса. Тот резко обернулся, выхватывая
из кармана что-то прямоугольное, и успел увидеть, как
пригнувшийся доктор выдернул из-под халата "Ингрэм"...
Несколько десятков пуль с высокой начальной скоростью прервали
его недолгое, но насыщенное существование.
---
Конец? Ну уж нет! Какой может быть конец, если миссия так и не
была завершена? Что? Вы говорите, что вирус уничтожен? С чего
вы взяли? Ах, "Ингрэм"? Это, конечно, убедительный аргумент...
Но тут есть еще кое-что...
Из последней информации Халфа: Данилов не любит лезть в код
дальше, чем необходимо.
И это было учтено при создании того самого устройства
подстраховки, о котором вы уже совершенно забыли, и первая
часть работы которого как раз началась...
Как только вживленный в сердце вируса датчик прекратил подачу
сигналов, антенны устройства подстраховки зафиксировали факт
клинической смерти и подали сигнал на исполнительные
устройства...
Кстати, нотной папки как таковой уже не было. Ее функция
заключалась в основном в сборке постоянно поставляемых
вирусами-агентами деталей громадного устройства - не мог же
вирус тащить с собой все эти десятки килобайт, так ведь и
повернуться трудно, не то что действовать и перемещаться... К
счастью, все детали уже были на своих местах, и оставалось
только дать сигнал к действию - который и был только что
получен.
Немедленно была приведена в действие система срочной
дистанционной реанимации...
---
- Ты смотри, какой живучий! - Это было первым, что услышал
воскресший вирус. Над ним стоял доктор с "Ингрэмом" и
внимательно его рассматривал.
- Стараюсь, - привычно усмехнулся вирус, легко поднимаясь на
ноги. Теперь они стояли друг против друга - два вечных
противника...
- Неплохая реализация... Однако я вынужден тебя уничтожить. На
этот раз ошибка недопустима.
Человек в белом халате засунул "Ингрэм" куда-то в недра своего
одеяния, распахнул саквояж, извлек оттуда внушительных размеров
гранатомет и тщательно прицелился.
- Это еще одна твоя ошибка, - улыбаясь, вирус достал
портативную рацию и нажал отдельно расположенную кнопку...
Из люков VCPI ударили фиолетовые лучи, нацеленные на вируса.
Это было его самым последним и наиболее секретным оружием -
первый полиморф-генератор уровня 7, реализующий полную
полиморфность всего вируса. Громадная работа по его созданию
была завершена совсем недавно, и сейчас генератор полностью
оправдывал возложенные на него ожидания...
Фигура вируса заколебалась, как отражение в воде, преобразуясь
в сверкающее фиолетовыми вспышками облако. Выпущенная точно в
его центр граната прошла насквозь, не нанеся ущерба, и снесла
несколько поддиректорий позади (когда-то такое уже было -
промелькнуло в AI вируса)...
- I'll be back, - успел проинформировать вирус, окончательно
преобразуясь в облако. Облако взмыло вверх и ушло куда-то в
сторону кварталов рабочих утилит, по пути поразив лучом
паспортные архивы ADinf'а...
Где-то в Ленинграде человек, которого я никогда не видел,
сидел за монитором компьютера, про который я ничего не знаю, и
переписывал код...
А где-то в то же время, но совершенно в другом месте кто-то
сидел за той же 386SX...
-------------------------------------------------------------------------------
To be continued? Maybe...
Кажется, сейчас стало традицией объяснять, как можно
поддержать автора данного начинания? Ну что ж... Если вы прочли
и вам так понравилось, что вы хотите мне чем-то помочь - мой
FIDO-адрес есть в начале текста. Впрочем, вряд ли я стану
писать продолжение - нет времени...
Если кому-то просто хочется поговорить про вирусы - пишите по
тому же адресу... А еще я иногда пишу антивирусы... Впрочем, в
последнее время редко. Надоели примитивные вариации на тему
boot и нерезидентных com-вирусов...
|\___/|
/
( ` ~_\ Foxy
@__/^
Last-modified: Mon, 02 Jun 1997 07:03:53 GMT