Adventurer
#06
28 февраля 1997 |
|
Обмен опытом - о вирусе в игре Last Battle. Как написать свой вирус.
╔═══════════════════════════════════════╗ │ ──────────── В И Р У С Ы ──────────── │ ╚═══════════════════════════════════════╝ Речь в этой статье пойдет не о прог- паммах 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
Другие статьи номера:
Похожие статьи:
В этот день... 10 декабря