ZX Power #03
31 декабря 1997
  IS-DOS  

Разное - Вирус в IS-DOS.

<b>Разное</b> - Вирус в IS-DOS.
5mD ВИРУС В ИС-ДОС(C)1997 Mechanic ________________________________   Слыхал, что некоторые считают вирусы наSpectrum'е   несерьезной  вещью.  Действи-тельно,  когда  речь  идет о "Tape LoadingError  System", разговор о вирусах неумес-тен.  Но  вот когда речь заходит о TR-DOS,IS-DOS,  или  другой  системе,  где  любаяпрограмма в состоянии дотянуться до данныхи программ, абсолютно ее не касающихся, ноимеющих  почетное звание ее соседей по на-копителю, поговорить о вирусах приходится.    КАК Я ВСТРЕТИЛ ЕГО    Как-то  раз, разбирая новый дистрибутивс программами  к IS-DOS Classic 4.5, я си-дел и запускал по очереди все *.com файлы,которые только мог. И вот, совершенно слу-чайно,  обнаруживаю, что одна программа изчисла  моего  верного  проверенного  софтавдруг  изменила  длину. Заметить эту мета-морфозу помогло то, что прогу-то эту напи-сал  я  сам,  и прекрасно помню, что в нейникак не может быть 2 блока длины...   Тут меня "пробило" - Вирус! Настоящий!   Вспоминаю, чего в таких случаях совето-вал Фигурнов в своих учебниках, и аккурат-но  копирую  файл  на пару дисков, которыхмне  не  очень жалко (шутка ли - живой су-постат :-о ). Потом перегрузился на старуюиспытанную  версию от 24.4.94 и начал изу-чать "трофей".   То, что было найдено в этом файле, былоименно  тем, чего я там и искал. Там сидел...  да-да, именно вирус, самый такой себенастоящий.  Сперва  я конечно дико обрадо-вался:  "Ура..  Наконец-то..  Свершилось..Теперь  и у нас..", а потом - "Идиот! Чемурадуешься?!".  Вот здесь я начал понимать,что  теперь  все, кому не лень, станут пи-сать подобные "микрософты" и совать их ку-да  ни  попадя. Мне же придется теперь бо-роться с новой проблемой, без которой, на-верняка,  было  бы скучнее, зато - спокой-нее.   Раньше  мне  уже  попадались программы,умеющие  делать  всякие пакости, но они неразмножались, как всякий нормальный вирус.Этот  же  в  заражаемом файле создает своюточную  копию,  так что сложно понять, ктоименно кого заразил.   Раз  уж  принято софт такого рода назы-вать  либо именем автора, либо именем док-тора,  нашедшего  способ  лечения, а авторуказан  не  был,  то  паразит  был  названvir00mc.   Так  как  зараженные  файлы я обнаружилеще в 2х других каталогах, то пришлось на-писать  к нему антивирус, который и прила-гаю в надежде, что его поместят в приложе-ние.     КТО ЖЕ ОН ТАКОЙ    Сама  по себе программа совсем безобид-ная  -  вся ее работа состоит в том, чтобызаразить файл своей копией. Она не пытает-ся писать ругательства, форматировать дис-ки,  перекачивать  пароли  по  E-mail :) ит.д. Просто так случилось, что при дописы-вании  вируса  к программе exebat.com пос-ледняя  теряет  работоспособность - вся ееработа сводится к сбросу системы. Обуслов-лено это тем, что exebat (и некоторые дру-гие программы) имеют критичную длину файлаили  другие  особенности, мешающие им кор-ректно работать с подобным "довеском".   Реагирует  вирус на файлы с расширениемc?m  (com,  cum, cam etc), которые при за-пуске зараженной программы находятся в те-кущем  каталоге. Текущий каталог - тот ка-талог,  в котором находится курсор (описа-тель  которого  сидит  в  векторе файловойслужбы), и вовсе не обязательно, что зара-женный  *.com  запустился  именно из него.Так  вирус  путешествует  по  каталогам  иустройствам.   Номер  файла-жертвы берется из счетчикапрерываний клавиатурного драйвера и округ-ляется  до  32.  Для нормального зараженияфайла,  открытого  таким образом, первые 3байта   в  нем  должны  содержать  команды  LD C,НОМЕР_РЕСТАРТА  RST #10 ,с  которых  начинается  львиная  доля всех*.com  файлов в ИС-ДОС. К тому же все опе-рации чтения/записи должны пройти без оши-бок  -  при возникновении любой ошибки приработе   вирус  тотчас  отдает  управлениепрограмме-носителю.   Использование счетчика прерываний обес-печивает случайность заражения файла, ведьне  каждый  же раз там сидит именно нужныйc?m.   После  открытия и определения наличия вначале файла нужных команд, вирус заменяетих  командой CALL ВИРУС, вычисляет необхо-димые  смещения  (для  CALL ВИРУС - тоже),удлиняет  файл-жертву  на 255 байт (иногдадля  этого ему приходится перевести файл всегментированный вид) после чего подготав-ливает  свое тело для выгрузки, запоминаетв нем все необходимое уже для нового виру-са,  выгружает новую свою копию в удлинен-ный файл, восстанавливает номер рестарта всвоем  теле  для  корректной работы своегособственного носителя (не только что зара-женного),  скрывая  следы работы, вызываетрезидента  командой @calc, открывает файл,что  был открыт до запуска вируса (его но-мер   был   предусмотрительно   считан  из$FNUMB), и, наконец, возвращает управлениеносителю, выполнив сперва за него украден-ную команду из начала файла.   Интересно,   что   первая   команда  невосстанавливается,  и теоретически возмож-но, что зараженный *.com при неоднократномперезапуске из точки входа сможет заразитьнесколько  файлов  с  одной загрузки в па-мять.   При  работе  vir00mc  использует вирту-альный  диск,  рестарты уровней DOS, DUD иCOM,  а также вызывает резидентную задачу.И все это в 255 байтах!   Остается  лишь сказать, что вирус напи-сан  действительно  Классно, и выразить заэто благодарность его создателям.   По  поводу  защиты  от вирусов в ИС-ДОСмогу посоветовать чтение подобных инструк-ций для пользователей IBM PC [заменяя "IBMPC"  на  "ZX-Spectrum", а названия ненапи-санных  еще  программ  :( сопровождать пе-чальным  вздохом]. Все остальные указанныетам  меры предосторожности не будут лишни-ми.   Хочу  надеяться,  что редакция ZX-POWERбудет  продолжать собирать и знакомить чи-тателей  с  новинками  вирусной индустрии,что  должно  сохранить всем кучу времени инервов.      С уважением,Mechanic/X-Project   E-mail:konstantin_k@hotmail.com________________________________0 и 1725000



Другие статьи номера:

Авторы - Авторы журнала и контакты редакции.

Вступление - Приветствия и вступительное слово.

Вступление - Описание возможностей оболочки.

Вступление - Содержание номера.

Вступление - Анонс статей следующего номера.

Ликбез - Восстановление программ методом поиска адреса пуска, с помощью перевзлома.

Ликбез - Автоматическое создание маски для спрайтов.

Ликбез - новый алгоритм быстрой 3D графики на SPECCY.

Ликбез - CHEATS и POKES в игровых программах: история методов нечестной игры, фирменный CHEAT, использование опубликованных POKES, поиск адресов бессмертия.

Разное - Фальшивые редакторы для музыкального сопроцессора.

Разное - Траблы с AY (неверная частота тактирования).

Разное - Вирус в IS-DOS.

Разное - Прулевка - странные люди.

Разное - Редактор отгрузки для ELITE-3.

Разное - результаты опроса общественного мнения Спектрумистов.

Разное - Конкурс специальных корреспондентов для журнала.

Разное - Проект развития Спектрумовского рынка.

Разное - FUNTOP-98 - итоги фестиваля.

Комната смеха - Компьютерный словарь для чайников.

Комната смеха - Химическая история.

Комната смеха - Второе насшествие марсиан.

Комната смеха - Анекдоты про Интернетчика.

Комната смеха - Виндоза - Source Code of Windows.

Паутина - Как работает модем.

Паутина - Описание команд HAYES-модема.

Паутина - Что такое MNP в HAYES-модемах.

Паутина - Модемы на Спектруме.

Интервью - Интервью с Ticklish Jim-ом , Rom/Progress , BRAIN WAVE CORP, RST#7, KGS INC.

Перспектива - Презентация игры "Зеркало".

Перспектива - CSC: DEJA VU - слухи и реальность.

Новости - Новости со сцены: Phantom Family, Smash, OHG, Avalon, Spark, K3L, TGM, First Association, Discovery Group, BrainWave и т.д.

Новости - новости от Челябинских спектрумистов.

Новости - Вести из Черкасс.

Вокруг света - APPLE представила прозрачный проект ПК.

Вокруг света - IA-64: неофициальная хроника переворота.

Вокруг света - Билл Гейтс: О WINDOWS - только хорошее.

Вокруг света - Все что вы хотели знать о "Силиконе".

Чтиво - Рассказ Е.Нестеренко "Корона и кольцо" (часть 2)

Чтиво - Кровавая тьма.

Чтиво - Терминатор 3.

Металлолом - BRIGHT + FLASH = NEW SPECCY.

Металлолом - Схема подключения HAYES-модема.

Обозрение - Журналы, которые мы выбираем: ADVENTURER-6, AMAZING-2, AMIGA NEWS-1, CHAOS-1, DEJA VU-4, DEPTH-1,FLASH TIME-1,MIRACLE-1, OBERON-4, ODYSSEY-2, SPECCY-7,SPECTROPHOBY-,SPECTROFON-23, SPECTRUM PROGRESS-2 , ZX-FORMAT-7 , ZX-NEWS-3 , ZX-POWER-3, ZX-РЕВЮ.

Обозрение - Обзор новинок ПО: TWILIGHT, BOOVIE, TOWDIE, ORION, SHERWOOD,WACKY RACES, MYSTICAL, JMENO, RUZE, SUPER CARS,LAST NINJA2,CHACK YEAGER-S,ADVANCED FLIGHT TRAINER,THE RAVERS PARADISE,TRITON MIX, TWIN WORLD, DUCK MANIA.

Почта - Переписка с читателями журнала.

Почта - Письма: какие они бывают...

Рабочий стол - Теневой многотекстовый ассемблер-отладчик ALASM 4.1 (Краткое описание функциональных возможностей).

Меломания - Меломания выпуск 1.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Мысли по поводу - демостроение способствует повышению технологии программирования на ZX.
Numberlogy - нумерология.
Enjoy - Рассказ "Учитесь стрелять".
WANTED - Розыск программ...
От редакции - новогоднии поздравления.

В этот день...   5 февраля