╔═══════════════════════════════════════╗
│ ──────────── В И Р У С Ы ──────────── │
╚═══════════════════════════════════════╝
Речь в этой статье пойдет не о прог-
паммах VIRUS и VIRUS II, а о настоящих
компьютерных вирусах, ну прям, как на iBM
PC !
Долгое время считалось, что в систе-
ме TR-DOS вирусы быть не могут (что, в
принципе, верно). Вернее, вообще счита-
лось, что вирусы - это удел PC. И вот
прошла информация, что в игре LAST BATTLE
есть вирус !!!! Проверив сведения, я убе-
дился в этом.
Вообще-то вирусы в TR-DOS не совсем
правильные, настоящие вирусы всех видов
на SPECCY можно организовать только в
системах iS-DOS и CP/M (не зашитых в
ПЗУ). Если не считать модели SCORPION,
ATM, PENTAGON 512K + "теневое ОЗУ" вместо
принтерной ПЗУшки, то в системе TR-DOS
можно написать ТОЛЬКО файловые вирусы,
запускающиеся перед исполнением зараже-
ной программы. Резидентные вирусы в стан-
дартном SPECCY невозможны.
В связи с особенностями SPECCY и TR-
DOS (т.е. запускаемые только BASIC-файлы)
заражение кодовых блоков нереально и воз-
можно заражение только BASIC-файлов. Тех-
нология заражения проста:
1) ищется BASIC файл;
2) проверяется на наличие вируса и если
его там еще нет, то на свободное место на
диске записывается тело вируса, в заго-
ловке файла изменяется длина и начальный
трек/сектор файла и сохраняется в теле
вируса нормальные длина и трек/сектор.
Затем в первую строку BASIC'а заносится
переход на запуск вируса. Опосля изме-
ненная информация пишется на диск и воз-
вращается управление той программе, из
которой вызывался вирус.
Недостатки такого вируса очевидны.
К ним можно отнести изменение длины
BASIC-файла (в секторах), невозможность
заразить программы на другом диске (на
системах с одним дисководом) и невозмож-
ность заражения других программ, если на
диске нет места или в данных о диске ука-
зано, что нет свободного места. Также,
если вы реализуете вирус по вышеприведен-
ной схеме, то он при копировании на дру-
гой диск не будет работать. В Last
Battle вирус работает по несколько другой
схеме, хотя и очень похожей. После запус-
ка вируса, он, в первую очередь, ищет
boot и пытается заразить его и только
после этого делает свои дела дальше, т.е.
ищет BASIC-файлы. При поиске происходит
проверка длины файла в секторах, и если
длина достаточно большая, то заражения НЕ
ПРОИСХОДИТ (вот и ответ тем, кто записал
кроме "бутыли" еще какие-нибудь геймы в
монолоадерах). При проведении не очень
тщательной проверки было определено, что
размера в 18 секторов и больше достаточ-
но, чтобы программа приобрела иммунитет.
Если же файл подходит по размеру, то он
проверяется на зараженность (в проверке
участвуют всего три байта) и если не за-
ражен, то начинается самое интересное.
Первая строка проги изменяется с тем,
чтобы обеспечить запуск вируса, генери-
руется тело вируса, соединяется с зара-
жаемой программой в блок, равный длине
BASIC'a в секторах + 8 и записывается это
дело на свободное место на диске. После
этого корректируется каталог диска и все
повторяется снова, до тех пор, пока ката-
лог не будет исчерпан. Теоретически,вирус
из "бутыли" способен за один раз заразить
все BASIC-файлы на диске.
Как видите,вирус в общем-то простой,
но даже в том виде как сейчас, он может
доставить неприятности. Приведу один при-
мер из жизни : пришли к нам от Flash'eй
диски с системками, и оказалось, что нес-
колько (может в начале одна) инфициро-
ваны "пьяным джинном" (мое название это-
го вируса /по-моему, звучит/). Хотя он
с них никак себя не проявил, RAY, имея
печальный опыт общения с "пьяным джин-
ном", решил произвести курс лечения. Тех-
нология была проста : стартуем BASIC,
тормозим его, и если получилось то, что
мы ожидаем увидеть, то отгружаем BASIC на
чистый диск. Вот и все лечение. Кто не
сможет произвести лечение сам, приносите
(присылайте) нам, мы поможем.
Подведем итоги : вирусы на Спектруме
есть. Известен один вирус, написанный
HACKER SQUAD ("пьяный джинн"). Отличите-
льные черты : увеличение длины на 8 (в
секторах), заражение только коротких
BASIC-файлов, увеличение времени загрузки
зараженной программы. Впервые появился
в игре "Last Battle". Редакция журнала
приглашает всех желающих высказатся по
поводу вирусов на страницы ADVENTURER'a.
ADV: Кстати, у нас есть упакованная и
обезвирусенная (во, сказанул!) версия
LAST BATTLE. Ежели кому надо...
──────────────────────
(C) SHRSOFT