
      __________   __________   _____    ____
     ____         ____         ______   ____
    ____         ____         ____ __  ____
   __________   __________   ____  __ ____     Сусликов  Е Н
        ____   ____         ____   ______
       ____   ____         ____    _____        tel:(fax:)
__________   __________   ____     ____    (384-2-) 23-22-95



   release 9.46                      Создателю  вируса
    6  sep 1993                     нового поколения Driver
                                                посвящается.



        Не заражаемая  антивирусная  программа-фаг  SOS  (до
версии 8.7 - "Goalkeeper") расчитана на мало-мальски опытных
пользователей  (тех,  кто   не  ищет   Partition  table   на
дискетах), а также для тех,  кто хочет быстро избавиться  от
заразы, не вдаваясь в  подробности, какая  версия из  Дудлов
является причиной музыкальной перезагрузки.

        Главное  достоиство  программы  после  высокой  ско-
рости проверки то,  что она  может служить  как детектор  на
неизвестные ей ( и может  быть  вообще  еще  не  написанные)
вирусы.  Для этого от пользователя не требуется ничего - как
только новый вирус заражает  SOS - фаг  сообщает ее длину  и
предлагает:

                (K)ill or (Q)uit ?
             (уничтожить или выйти ?)

        если нажимается буква "К" вирус удаляется из файла а
затем  предлагается   перегрузиться  с   чистого  диска,   в
противном случае  происходит  возврат  в  MS-DOS.   В  любом
случае вирус 'запоминается в лицо' и при следующих  запусках
программы все файлы  будут  проверяться  также  и  на  новую
заразу.

        Возможно три исключения, когда детектирование
может не сработать:
1. Если ассемблерный код вируса меняется от файла к файлу
2. Если точки входа в файлах типа COM и типа EXE различны
   ( в этом случае новый вирус будет детектироватся только
     в COM-файлах)
3. Если управление вирусу передается 'хитрым' способом


        В библиотеке свободно два  места,  и  новым  вирусам
присваиваются имена Unknown  I  и  II,  при  третьем  вирусе
выдается:

                    Library full
              ( библиотека заполнена)

и новый вирус игнорируется.


                        Сообщениия:
                        ----------

        1.          Good length - bad file
              ( верная длина - испорченный файл)

        Возможно при вирусах v512, 100Years, или других,  не
меняющих (или делающих вид, что не меняют) длину файла.

        2.          LSEEK from EOF
               ( смещение за конец файла)

  JMP пытается "прыгнуть" за конец файла.

        3.         Original BOOT demaged
               ( оригинальный BOOT разрушен)

        Возможно например при вирусе  Joshi, если на  40(80)
треке не оказалось  оригинального BOOT'a.  Никаких  действий
не предпринимается.

        4.         File size over 64K
               ( размер файла более 64 Kбайт)

        говорит о том, что обнаружен COM-файл размером более
64  Kбайт,  это  может  быть  при  заражении  вирусами,   не
контролирующими длину файла.  Восстановление таких файлов не
гарантируется.

        5.  Boot-сектор проверятся  10  раз,  если  и  после
этого находится зараза, выдаются предупреждение

                          Cycling
                 (возможно зацикливание)

        и проверка boot'a  прекращается.  Например  возможна
потеря оригинального boot'a при заражение вирусом Stoned еще
с каким-нибудь бутовым вирусом.

        6.      Insert SOS.COM in drive x:
             (вставьте SOS.COM в дисковод x:)

появится, если ВЫ умудрились вытащить дискету с SOS.COM,
пока она тестировала память.

        7.         Report flag ignored
             ( опция рапорта игнорируется)

    Если задан рапорт на печать, а принтер не включен.

        8.              FATAL ERROR
                   (неисправимая ошибка)

 a) Если что-то не так в процессе самопроверки.
 б) Если по каким-либо причинам (например из-за защиты
    записи) SOS не может избавиться от вируса.
 в) Если SOS был запущен с виртуального диска.
 г) Возможно при некоторых кэшах

 все это можно "побороть", запустив SOS с опцией /T - в этом
 случае SOS  НЕ ПРОВЕРЯЕТ себя на зараженность.

        9.       Must have DOS 3.2 - 6.0
         (должна использоваться DOS версии 3.2 - 6.0)

        Т.к.  используются  недокументированные  прерывания,
то работа в других версиях чревата.


        При  каждом  запуске   происходит  тестирование   на
предмет поиска известных вирусов в памяти, причем может быть
обнаружен  и  неактивный   вирус,   например   обезвреженный
программой  AIDSTEST.   При   обнаружение  вируса   выдается
сообщение о необходимости  перезагрузки  системы  с  чистого
диска.  Можно выйти из программы только через DUSTER, PK_AT,
RELEASE и им подобные, но лучше этого не делать.

        Найденный вирус  в памяти  НЕ НЕЙТРАЛИЗУЕТСЯ,  автор
считает, что перезагрузка с  чистой дискеты принесет  меньше
вреда, чем заражение  всех файлов  какой-нибудь новой  особо
опасной заразой типа "Dark Avenger", или "Bontchev".

        Основной критерий правильности работы программы SOS:
если зараженная программа  работала  корректно,  она  должна
правильно работать и без вируса.

        С появлением все более изощренной заразы приходиться
дорого платить за незаражаемость - версии, начиная с 9.18 не
стоит запускать с виртуального  диска.   А  также  не  стоит
лениться проверять все файлы (опция /A).



                        Параметры:
                        ---------

Параметры SOS можно менять как в диалоговом режиме, так и с
командной строки :

        SOS [d:] [опции], где

        d: - проверяемый диск,  если  указать  *:  то  будут
проверяться все логические диски начиная с C:.  Если  требу-
ется проверить только  один подкаталог, используйте  внешнюю
команду SUBST. Вместо символа ":" можно ставить ";".

        опции:
        /h - короткая подсказка о параметрах запуска
        /k - уничтожать найденные вирусы
        /b - отключить гудок
        /r - записать рапорт в файл SOS.LOG
        /p - выдать рапорт на печать
        /a - проверять все файлы (по умолчанию проверяются
             только файлы, имеющие расширения .COM и .EXE)
        /s - включение скроллинга (по умолчанию после
             заполнения окна сообщений появляется надпись
             "more..." и ожидается нажатие любой клавиши для
             продолжения работы, но при нажатии на буковку
             's' флаг скролинга сбрасывается )
         /m - не тестировать память
         /e - если ничего не обнаружено, сразу выйти в DOS
         /t - не проверять себя на зараженность


        Сканирование параметров подчиняется следующим
правилам:
  1. За слэшем следует опция
  2. Перед двоеточием(точкой с запятой) стоит буква
     проверяемого диска
  3. Остальные разделители игнориружтся

        Опции могут располагаться  в  произвольном  порядке,
причем если одна  и таже опция  задана дважды происходит  ее
сброс:

        Примеры:

        SOS /a *: /k,  SOS *;/a/k,  SOS/k/a*:
                    - прооверяются все файлы на дисках
                      винчестера, найденные вирусы
                      уничтожаются.

        SOS /b/p/b  - гудок не отключается, рапорт выйдет на
                      печать

        При запуске без параметров происходит переход в
диалоговый режим.



                  Известные автору вирусы:
                  -----------------------

                648, 648/534, 648/623, 648/627, Kemerovo, v529, Dark Avenger,
                Yankee Doodle(18,19,21,22,26,27,29,2c,2d), shortDoodle-1,-2
                LetterFall(1701/1704 у SCAN), IV(-345,-740,-847), Black Square
                Sunday, Vacsina(модификации:4,5,10),
                Voronezh(модификации: 600 байт и 2.01)
                Ping Pong(BOOT), Brain(BOOT), Disk Killer(BOOT), Stoned(BOOT)

 *** 8.6 ***    sI, Bontchev (V2000 по SCAN), Murphy-1
                Joshi(BOOT)

 *** 8.7 ***    Loz1023, v516, v644, v512(семь модификаций), v572, v707
                MGTU, MSTU, LoveChild, v905, 100Years

 *** 9.00 ***   Murphy-2, Vacsina6, IV-277, IV-299, IV-852, 648/507, 648/348
 ("Gold SOS")   648/353, 648/367, 648/435, Doodle23, Doodle2a, Doodle2e

 *** 9.01 ***
 (поддерживает логические диски свыше 32 Мбайт)

 *** 9.02 ***   BestWish, ...You, Hymn-1962, Hymn-2144, SVC 4.0/1689, v696
 (добавлена     v948, v1049, v699
  опция /M)

 *** 9.03 ***
 (переход к MAKE-файлу и модульному программированию)

 *** 9.04 ***   Hymn-1865, BlackJec(-230,-246,-267,-276,-287,-358,-369)
 (Посвящается   MLTI, Alabama, April 1.01, Attn, Bebe, BigPiter
 Е.Бушманову)

 *** 9.05 ***   April 2.01, Burger(три модификации), Dance, DotEater
 (Посвящается   Datacrime, Fish, Halloechen, Jocker, Mirror
 создателю      v1260 (V2P2 у SCAN), v217
 вируса v1260)

 *** 9.06 ***   Magni-2560
 (исправлены
 очередные
 ошибки)

 *** 9.07 ***   SVC 3.1, Migram, Tumen
 (добавлена
 опция /E)

 *** 9.08 ***   Christmas, Lehigh, MIX1, Oropax, Syslock

 *** 9.09 ***   v1554, Destructor v4.00, v5120, Armagedo, Dir, Eddie, FuManchu
                AntiPascal (-400,-440,-480,-529,-605), v500 (три варианта)

 *** 9.10 ***   INT13, Phoenix-1701
 (посвящается
  создателям
 INT13 и Phoenix)

 *** 9.11 ***   Phoenix (-1704,-1226,-1302,-800), v2100, Nina, Perfume, Shake
(работоспособна Tiny(-198,-167,-160,-159,-158,-156,-154,-143,-138,-134,-133)
   в версиях    Sylvia, v1024(два варианта), VCOMM, VFSI
  MS-DOS до 5.0
  включительно)

 *** 9.12 ***   su1024, v552

 *** 9.13 ***   v1202

 *** 9.14 ***   v765, Chemist, DM, Feist, Christmas-625

 *** 9.15 ***   Magni-2048, Loz2968, Hero-394, Hero-506, Jocker-1371, Kiev
                Something, v1232, v695

 *** 9.16 ***   Mutant, Starship, Near Dark(BOOT)

 *** 9.17 ***   SVC 4.0/1740, SVC 5.0, Tula-419, Tula-635, Taiwan3

 *** 9.18 ***   Driver
( посвящается
  создателю
  вируса нового
  поколения Driver )

 *** 9.19 ***   Words (-1069,-1085,-1387,-1391,-1485,-1503), Siskin
                Sistor-2225, Sistor-2380, v310, v401, Piter(BOOT)

 *** 9.20 ***   endof, PlayTet, Lord, Tumen-1092(версия 2.0)
 (юбилейная     Tumen-1663(версия 0.5), Tired, XPEH-4016, XPEH-3840
 версия на      Azusa(BOOT)
 200 вирусов)

 *** 9.21 ***   v1308, MIX2, Vindicato, Jews

 *** 9.22 ***   Loz776, Voronezh370, Dada, Lenin

 *** 9.23 ***   Terror

 *** 9.24 ***   XPEH-4928, v1232

 *** 9.25 ***   March6(BOOT)

 *** 9.26 ***   Problem, v122, v145, Jews-2

 *** 9.27 ***   imp 1.5

 *** 9.28 ***   Pavlik

 *** 9.29 ***   SVC 6.0/4464, SVC 6.01/4661

 *** 9.30 ***   исправлена ошибка, из-за которой в FATe на
                дискете очищался не тот кластер, sorry :-(

 *** 9.31 ***   CDV 1.0

 *** 9.32 ***   CDV 1.1,  USA,  Later,  Bloody(BOOT)
                добавлен ключ /T

 *** 9.33 ***   Driver-DBF

 *** 9.34 ***   ATAS(-384,-400,-1268,-3215,-3235,-3321)
                Adolf, Koba, Protect, Tula-427, v1014,
                Waiting, Driver-FACE

 *** 9.35 ***   Invader

 *** 9.36 ***   Spook(BOOT)

 *** 9.37 ***   Pen, Gelengik(BOOT)

 *** 9.38 ***   Внутренние изменения в модуле BOOT.ASM

 *** 9.39 ***   Bloody-2(BOOT)

 *** 9.40 ***   Исправленная версия предыдущего выпуска

 *** 9.41 ***   Вроде бы как работает и в DOS 6.

 *** 9.42 ***   Exe512, Alex

 *** 9.43 ***   VS-71

 *** 9.44 ***   Omsk2000

 *** 9.45 ***   BigX

 *** 9.46 ***   Exe1024
(made in Riga)


                        О вирусах
                        ---------

        Voronezh 2.01 - файловый  вирус  длиною  1600  байт,
заражает и COM-  и  EXE-файлы.   Не  меняет  точку  входа  в
EXE-файле,  из-за  этого  уж  слишком  сложно  их  заражает,
изменяя  Relocation  table.    Весь  алгоритм  заражения   в
точности соответствует 'рекомендациям' Лозинского, описанных
в AIDSREAD.ME - сопроводиловке к его AIDSTEST'у.   EXE-файлы
заражаются  при  открывании   (  копировании  ).    Просмотр
листинга  вызывает   противоречивые   впечатления.    Где-то
применен интересный прием, а  где-то написан бред  обезьяны.
Можно  порекомендовать  автору   читать  больше  книжек   по
асемблеру, но во-первых где их взять ?  , а во-вторых  можно
получить новую, более жестокую версию.


        Joshi - бутовый вирус  (  на  винчестере  'живет'  в
Partition table) занимает 6  секторов под  свое тело,  затем
пустой сектор и затем  оригинальный boot.   На дискетте  все
это хранится на 40  дорожке  -  в  ущерб  размножению.   Был
написан с  целью  максимально  усложнить  свое  обнаружение.
Найти его на зараженной  машине,  просматривая  boot  (  или
Partition)  невозможно  -   перехватывая  при  загрузки   13
прерывание,  вирус  перенаправляет  чтение  на  оригинальный
boot.  При теплом рестарте (CTRL-ALT-DEL) остается в памяти.
Больше  всего   'радости'  принесет   тем,  кто   пользуется
программой ADM  -  при  заражении  вирусом  Joshi  потеряеся
служебная информация  ADM, расположенная  во втором  секторе
винчестера со всеми вытекающими последствиями.


        sI - файловый вирус длиной 492 байта, маленький,  но
страшно вредный, остается резидентным в памяти, причем имеет
нахальство располагаться по адресу 0010:0100 т.е.  во второй
половине таблицы векторов.  Заражает при запуске только COM-
файлы, у которых нет  аттрибута  'только  чтение'.   Обходит
слежение  за  21-м  вектором.    При  своем  первом   старте
обязательно заразит COMMAND.COM в каталоге C:\, если конечно
найдет его там, и у того не будет аттрибута 'только чтение'.
Округляет длину заражаемого файла до 16-байтовой границы,  а
затем дописывается  в  конец,  переписывая  первые  6  байт,
причем первые три байта -  длинный JMP, четвертый с пятым  -
его личная подпись "sI", а  шестой - счетчик, по  достижении
нулевого значения включается механизм  поражения диска C:  -
перехватывая прерывание 1C (таймер), каждый раз при входе  в
него другой  счетчик  (слово)  уменьшается  на  единицу,  по
достижению нуля затирается случайные  сектора через INT  26.
Зачем-то использует команду 286процессора: PUSH 100h,  из-за
чего не работает на 8086/8088.


        MGTU - файловый вирус  длиной  273  байта,  творение
студента МГТУ, начинающего учить ассемблер.  Заражает только
COM-файлы в текущем каталоге, причем сразу все за один  раз.
Студент  не  знает,   что   программе   могут   передаваться
параметры, а  также,  что  int21  иногда  имеет  обыкновение
возвращать флаг ошибки.


        MSTU - файловый  вирус длиной  554(COM) /  551(EXE),
вероятно развитие предыдущего.   Уже сохраняет  DTA, но  как
сложно он это делает.   Заражает  и  COM-  и  EXE-файлы,  но
по-прежнему  в  текущем  каталоге   и  сразу  все.    Знание
ассемблера и MS-DOS  на  том  же  низком  уровне,  что  и  в
предыдущем варианте.


        v905 - файловый  вирус  длиной  905  байт,  заражает
только EXE-файлы, оставаясь  резидентно в памяти.   Работает
только в версии MS-DOS 3.30.  Красиво шутит на EGA.  Написан
любителем модульного программирования.


        LoveChild - длина 488  байта.  Писал  его человек  с
большой фантазией - в небольшом вирусе столько разных шуток:
- переписывает себя во вторую половину таблицы векторов, - в
случае MS-DOS  3.30  обманывает  сторожей,  -  из-за  ошибки
заражает  при  открытии  любой  файл,  имя  или   расширение
которого оканчиваются на  "OM",  -  распространяется  только
через COM-файлы - если  записывается нечто, начинающиеся  на
"MZ"   (подпись   EXE-файлов),    вместо    этого    пишется
последовательность  команд,  и  файл  становится   троянской
программой, затирающей  жесткий диск  по 0-3  голове, -  при
копировании файлов создает  каталог с  тем же  именем -  два
предыдущих пункта работают в зависимости от счетчика времени
- не заражает файлы, начинающиеся командой STI (0FBh)


        LOZ - длина  1023,  заражает  только  COM-файлы  при
выполнении и  открытии,  оставаясь  резидентным.   Шифруется
каждый раз по разному.  Автор заразы читает умные книжки  по
MS-DOS и является  смертельным врагом  программы AIDSTEST  -
при ее выполнении  стирает ее  с диска  и выдает  сообщение:
Welcom to demo version (C) Zherkov Лозинский-ДУБ ,  AIDSTEST
- горбуха Однако этого показалось  мало и в вирусе есть  еще
одна пакость - при  записи на дискету  BOOT сектора байт  со
смещением 1А (количество голов ) заменяется на 0.


        v516 - первый из тех,  кто ставит переход на себя  в
точке, куда указывает первый JMP.  Располагается в памяти  в
первом системном буфере.   Иногда  на  запрос  GetDOSversion
(подфункция 30h 21-го прерывания) возвращает 0.


        v572 - заражает только EXE. Наверное написан для
тренировки работы с файлами.


        v644 - заражает только COM, только начиная с  версии
MS-DOS 3.10, только в течении первых 20 минут каждого  часа,
но как в текущем  каталоге, так  и через  PATH, невзирая  на
авторитеты.


        v707 - заражает только COM, работает только в  3.30,
но обходит сторожей.  Освоил одну идею очень хорошо.  Иногда
трещит.


        v512 - первый, физически не меняющий длину файла,  в
памяти  находится  в  первом  системном  буфере,  обманывает
сторожей.     Сильно     пользуется     недокументированными
прерываниями.  Использует  системную  таблицу  файлов,  хотя
можно обойтись  и  стандартными  функциями  ДОС.   Правильно
восстановливаются только  те файлы,  которые работают,  если
файл восстановить  невозможно, он  стирается.  Данный  вирус
можно  использовать  как  защиту   от  копирования,  но   не
забывайте, что зараженные  файлы нельзя  копировать даже  на
новое  место   того  же   самого  диска,   а  также   нельзя
пользоваться  утилитами  дефрагментации  типа  Norton  Speed
Disk.


        100Years - длина ровно 4096 байтов,  перехватываются
20 подфункций 21-го  прерывания.  Не зная  что и где  искать
найти заразу невозможно.  Разобраться с ним пока не успел.


        BestWish - две версии с  длинами 970 и 1024  байтов,
содержат текст  'With  Best  Wishes',  заражают  исполняемые
файлы при чтении и запуске, после чего машина часто  виснет.
После пяти заражений уменьшает  слово  со  смешением  13H  в
BOOTсекторе (общее число секторов  диска), а в пятницу  при-
ходящaюся на 13-е число записывает туда 0.  Восстановить эту
информацию можно из Partition Table.


        ...You - 417 байт,  только COM'ы, не совсем  коррек-
тно вешается в памяти.  Перехватывая 8-е прерывание (таймер)
после 0EA60 тиков (сквозной счетчик) матерится по-английски.


        Hymn - три версии длинами  1865 и 1962 (.VS.),  2144
(.VS2.) байт, самый грамотный и варварский из известных  мне
советских вирусов.  Когда день равен месяцу (напр.  1 января
2 февраля и т.д.) затирает джиск C через INT 26, выводя  под
гимн Советского Союза большую букву "V" состоящую из  рамки,
внутри которой есть текст  VIRUSOFT  (c)  Ver.   1..   Текст
программы (кроме длины 1865) шифруется в зависимости от  дня
недели.   В  версии   длиною   2144   имеются   раздражающие
антиотладочные приемы.


        SVC 4.0 - две версии с длинами 1689 и 1740, заражает
выполняемые файлы, содержит текст  "(c) 1990  by SVC,  Vers.
4.0",  приращение   длины   невидно   через   команду   DIR,
использована идея , содержащаяся в вирусе v2000.


        v696 - написан  ленивым человеком,  который для  об-
легчения отладки  вируса выдумал  новый способ  базирования.
После того, как одна  программа заразит 64 файла,  ожидается
нажатие любой клавиши, затем затирается винчестер.


        v948 - чтобы не  было  скучно,  при  заражении  EXE-
файлов в заголовке слово со смещением 10H (минимум памяти  в
параграфах) увеличивает на  50H.  В  зависимости от  счетчи-
ков и времени инкрементирует  байт в сегменте 0B800H  (буфер
цветного дисплея)


        v1049 - и сказать-то нечего, списан с Yankee Doodle.


        v699 - этот зачем-то пишет между программой и  собой
случайное число байт.  Даже жалко тратить 20-30 байт,  чтобы
убрать этот хвост, вряд ли вирус широко распространится.


        BlackJec - передан мне в  исходных текстах и даже  с
небольшой сопроводиловкой, из  которой  следует,  что  вирус
написан  только  для  пробы   сил  в  ассемблере.    Мужики!
напишите  лучше   для  меня   резидентный  калькулятор,   по
возможностям как SideKick, но  длиной 7-10 Kb,  а то у  меня
руки не доходят.  А чтобы  написать просто вирус надо  знать
так мало.  Для  хорошего вируса  типа 100Years  недостаточно
знать     ассемблер     и     прерывания,     пусть     даже
недокументированные, надо  иметь  еще  и  светлую  голову  с
идеями.  А что  касается  этих  семи  версий,  то  написание
против  них  антивируса  заняло  чуть  больше  времени,  чем
трансляция  всех  исходников  на   PC/XT-8086,  и  17   байт
программы на каждую версию.


        MLTI -  заражает только  COM-файлы, содержит  всякий
бред типа "(c) 1990 RED DIAVOLYATA " и "Hello!  MLTI!" -  не
слишком  оригинально  студенты  прославляют  свои  ВУЗы.   В
пятницу после трех  часов работы  стираются все  запускаемые
программы.


        Alabama - длина  1560,  заражает  только  EXE-файлы,
переживает 'мягкую' перезагрузку, после часа работы  выводит
текст с адресом "box 1055 Toscambia ALABAMA USA" -  желающие
могут написать.


        April - длина 897,  заражает  только  COM-файлы,  но
зато очень оригинально  - через  временный файл  на диске  с
именем TMP$$TMP.COM.  Содержит много  текста  и  среди  него
"APRIL 1ST  HA HA  HA YOU  HAVE A  VIRUS!" который  выдается
разумеется  первого  апреля,  и  идентификатор  sURIV  1.01.
Второй April (длина 1488) заражает только EXE- файлы, внутри
идентификатор sURIV 2.01.   Тело вируса располагается  между
таблицей настройки и кодом оригинальной программы, заражение
происходит опять-таки через тот же временный файл, текст уже
зашифрован.


        Attn -  длина  394,  оставаясь  резидентно  заражает
только  COM-файлы,  точнее   файлы,  у  которых   расширение
оканчивается на "OM".   Первые  16  байт  зараженного  файла
содержат  переход  на  вирус  (3  байта)  и   предупреждение
"ATTENTION  !".    Слишком  уж   сложно  обрабатывает   24-е
прерывание.


        Bebe - длина  1004,  заражает  COM-файлы  в  текущем
каталоге, но оставляет в  памяти свой обработчик  прерывания
1Ch (timer).  После десяти минут работы выдается тупой текст
"Skagi bebe>" и начинается  работа с портами клавиатуры,  но
этого  товарищъ  еще  не   освоил.   Те,  у  кого   монохром
полюбоваться текстом не могут.   И еще одна  примечательнось
заразы - динамическое формирование  входа в вирус, схожий  с
v696, правда это еще не говорит  о том, что оба вируса  при-
надлежат перу одного автора.


        AIDS - этот просто  переписывает первые 13  килобайт
чужой программы, причем  вирус  написан  на  языке  высокого
уровня.  Восстановить оригинальный файл невозможно.


        BigPiter (по Касперскому) - рекордсмен длиною  23693
байта - помесь 648-го вируса с программой на С.  Несмотря на
свой рост проверка длины  заражаемой программы как была  для
648  байт  так  и   осталась.   Говорят,  что  это   реклама
ленинградской фирмы  - можно  представить какие  программные
продукты она предлагает покупателям.


        3nop - длины 537 и  541,  два  файла  полученные  из
исходных  текстов  примера  вируса  Burgera.   Т.к.    вирус
затирает  начало  файла  своим  кодом  зараженные  программы
приходится стирать.  Файлы  для заражения  ищутся на  разных
дисках и в разных каталогах.


        Dance - (941 байт) заражает все COM-файлы в  текущем
каталоге, в том числе и  повторно себя.  Оставляет в  памяти
небольшой кусок на 9 прерывании (клавиатура), который делает
различные фокусы  типа изменения  атрибута, на  CTRL-ALT-DEL
вываливает текст: Have you ever  danced with the wear  under
the weak light of the  moon?   (что  немного  отличается  от
приведенного в тексте Patricia M.  Hoffman) после этого если
было  свыше  5000  нажатий  затирается  Partition  table,  в
противном случае вызывается перезагрузка.


        DotEater - (944 байта) заражает COM-файлы в  текущем
каталоге, иногда (никогда  ?) оставляет  в памяти  небольшой
кусок на 16  прерывании  и  начинает  'пожирать'  набираемые
точки - выглядит очень здорово!


        Datacrime  -  (1168),  только  COM-файлы,  после  12
октября форматирует зерез INT 13 винчестер.


        Fish -  (3584),  заражает  и  COM  и  EXE,  вероятно
написан  тем  же   автором,  что   и  100Years.    "Нивидим"
перехватчиками, в памяти постоянно перешифровывается, на  XT
заметно замедление вывода  на экран и  всего, что связано  с
21-прерыванием.  Полнее не разбирался.


        Halloechen  -   (2027),  COM/EXE,   в  теле   вируса
содержится  текст  "Halloechen!!!!!!,  Here  I'm".   На   16
прерывание иногда выдает фальшивое значение.


        Jocker - (29233), COM/EXE,  в  конце  файла  подпись
JOCKER-01.  Пытается  обойти  слежение  за  21  вектором  но
делает  это  не  совсем  корректно.   Львиную  долю   вируса
занимает известная программа, показывающая язык, но работает
ли она в этом вирусе  с  ходу  не  видно.   Файлы  типа  EXE
сначала приводятся к виду COM стандартной программой  длиной
139 байт (пример см.  в досовском файле FORMAT)


        Mirror  -  (482),  COM,  как  и  sI  (один   автор?)
пользуется зачем-то командой PUSH  100H и поэтому виснет  на
машинах  с   процессором   8086/8088.    Резидентная   часть
располагается в памяти  с сегментного  адреса 7800h,  причем
эта память не резирвируется.   В качестве 'шутки'  зеркально
переворачивает экран и затирает Partition table.


        v217 - (217),  заражает только  COM-файлы в  текущем
каталоге.


        v1260 - (1260), COM.   Свободная  вариация  на  тему
648-го вируса, но  какая вариация !!!   Я ожидал такого,  но
чтоб так лихо  реализовано...   Если  сравнивать  две  копии
вируса по принципу "смещение-байт"  то  нет  ничего  общего.
Считаю эту программу шедевром вирусного искусства.


        Magni - (2560),  мне прислали  его из  Новосибирска,
там получили его с  программами из  Москвы, а  написан он  в
Магнитогорске судя по тексту внутри вируса (текст зашифрован
).  Очередная оригинальность советских программистов.  Вирус
резидентный, причем файлы  заражаются при  закрытии, но  при
открытии  файл  очищается,  если  был  зараженный,   поэтому
антивирусы, проверяющие  себя,  могут  не  заметить  заразы.
Непонятно, правда, зачем  все  это,  если  приращение  длины
можно увидеть, выдав  команду  DIR.   В  COMMAMD.COMe  вирус
находится в конце файла, в области стека и поэтому длину  не
меняет.  SOS 'откусит' файл  по  началу  вируса  и  захватит
кусок командного процессора, поэтому перепишите его  заново.
Оставив тело вируса нетронутым,  можно нарваться на  ошибку:
Invalid COMMAND.COM.
        Настоятельно  рекомендую  всегда  иметь  под   рукою
чистый  COMMAND.COM  и  ВСЕГДА  переписывать  его  на  место
зараженного, не доверяя ни одному из фагов.
        Через   случайный   промежуток   времени    выдаются
сообщение на английском языке,  из  которого  я  понял,  что
вирус  написан  опять-таки   'благодаря'  сопроводиловке   к
AIDSTESTу.  Год зараженного  файла меняется  на 88.   Знание
ассемблера автора(-ов)  весьма посредственное,  что еще  раз
подтверждает, что вирус может написать любой.


        Migram  -  резидентный   вирус  длиной  1219   байт,
заражает только  EXE-файлы,  "родной  брат"  вируса  Merphy,
содержит  строки  "MIGRAM  VIRUS  1.0"  и  "(C)  1991  IVL".
Удаляет ZIP-файлы в текущем  каталоге, если  в EXE-файле  не
обнаруживает сигнатуры "MZ", в субботу форматирует дискету.


        Tumen  -  резидентный,  заражает  только  COM,   при
перезагрузке в зависимости от счетчика играет мелодию, имеет
текст "Tumen.,v1.2"


        Christmas  -  COM/1881  (C-1881  по  Безрукову).   В
период  с  19.XII  по  1.I  рисует  рождественскую  елку   с
пожеланиями счастья.  Имеется советский плагиат (625  байт),
где  вместо  рождественского  пожелания  хочет   вываливаеть
надпись: "tings  from  Ivanov  V."  (в  теле  вируса  строка
зашифрована), но вываливает всякий бред.


        Lehigh - тот  самый вирус,  который заражает  только
COMMAND.COM, не меняя длины, после 4-х заражений портит FAT.


        MIX1   -   (RE-1618),   точнее   заражаются   файлы,
расширение которых начинается с "EX", и имеющие длину  более
8 кбайт.   В  самом  конце  инфекцированного  файла  имеется
подпись  "MIX1".   Искажает   информацию,  передаваемую   по
последовательному  и  парраллельному   портам,  точнее   при
использовании 14h и 17h прерываний.


        Oropax -  (RC-2794) размножается  очень интересно  -
перехватывая несколько функций 21-прерывания (13h, 16h, 17h,
39h и др.) вирус ждет, когда к ним будет ображение, а  затем
заражает файл в текужем  каталоге.  Через  пять минут  после
инсталляции в память играет одну из трех различных мелодий.


        Syslock - (CE-3551) шифрующийся вирус, заражает  при
запуске файл в случайном  подкаталоге, если в окружении  ДОС
есть строка "VIRUS=OFF", то заражения не происходит.  Читает
сектора диска и если там находит слово "MICROSOFT", заменяет
его на "MACHOSOFT".


        INT13 - резидентный вирусок длиною 512 байтиков,  не
меняющий длину файла  -  исключительно  приятый.   На  зара-
женной машине самоконтролирующим  антивирусам  очень  тяжело
обнаружить свое заражение.  Содержит строку "Int 13", но при
вирусе в  памяти  ее  не  найти.   Зараженные  файлы  нельзя
переносить на другое место.   Как показывает  опыт борьбы  с
v512, наилучшее решение в  этом  случае  -  удаление  файла.
Заражает только COMы, да и  то  лишь  в  том  случае,  когда
устраивает длина.


        Phoenix - еще  один  приятный  вирусок  длиною  1701
байтиков, на зараженной машине не видно приращения длины, но
самое интересное то,  что  вирус  'вклеивается'  в  середину
файла, раздвигая его.  Файл может заражаться нескольку  раз,
в результате получается хорошенький коктель.  Еще одно  дос-
тоинство в том, что вирус 'не трогает' 21-й вектор.


        su1024 - (RC-1024) очередная зараза советского  про-
изводства.  Заражаются COM-файлы с длинами от 1024 до  64511
байт, автор вируса чего-то упорно ищет в памяти - сразу даже
и  не  поймешь.   Через  13  заражений  в  дальнейшем  будет
какая-то пакость, а пока стоит RET.


        v552 - (RE-552) заражает  EXE-файлы на закрытии,  но
только те, у которых  18-19 байты  в заголовке  (контрольная
сумма)  равны  нулю,  после  заражения  ставит  туда  1990h.
Изредка уничтожает COM-файлы,  записывая в начало  небольшую
постоянно перешифрованную программу,  которая в графике  вы-
водит во весь  экран: "AIDS", правда  буква "S" малось  под-
порчена.  По всей видимости автор не раз писал резиденты  на
ассемблере и наконец решился написать резидентный вирус.


        v1202 - (RCE-1202) заражает при запуске файлы длиною
не меньше 6000 байт, возможно многократное заражение  одного
и того же файла.   Возможно, дальнейшее  развитие v1049,  но
чем же он все-таки  отличается от Doodle смотреть  совершен-
но не хочется, но вреда как будто бы нет никакого.  В городе
появился с программой из Кургана.


        v765 - (RE-765) при выполнении подфункции 0Eh  21-го
прерывания  (SetCurDrv)  делает  на  дискете  псевдо  плохой
кластер.


        Chemist  -  (RC-650)   Пишется   в   начало   файла,
оригинальное же начало шифрует (XOR xx, 0CCh) и дописывает в
конец.  В теле видна строка "v1.00, Химик & Слон".


        DM -  (RC-400)  в  памяти  располагается  во  второй
половине таблицы векторов  (0:200h), реагирует на  открытие,
переименование, запуск и закрытие  файлов.  Через каждые  25
заражений хочет незаметно форматнуть дорожку винчестера,  но
всего лишь вешает  машину, потому что  списывать в школе  не
научился.


        Feist   -   (RCE-670)   в   памяти   находится    по
фиксированному адресу 97f0:0 (как  будто  все  машины  имеют
640К ),  причем этот  блок не  резервируется.  Видна  строка
"R.Feist" - толи автор толи посвещение кому-нибуть.


        Mutant  -  по  всей  видимости  написан  ради   идеи
написать  вирус,  который   во-первых:   не   меняят   длину
программы, и при этом работает (и сама программа тоже)  даже
при переносе на другую машину, во-вторых: трудно  обнаружить
и  вылечить  зараженный  файл.    C  первой  задачей   автор
справился довольно неплохо, хотя вирус, хоть и  резидентный,
но заражает далеко не  каждую программу  (лучшая вакцина  от
этого вируса - упаковщики типа  PKLITE), а вот со  второй...
после знакомства  с  v1260  эта  зараза  и  детектируется  и
излечивается достаточно  легко.   Формальная  длина  -  1744
байта.


        Starship  -  писал  его  явно  человек  не  ленивый,
все-таки  это  файлово-бутовый   вирус,  причем   достаточно
сложный.  Файлы заражает только при копировании на  дискеты,
а при первом запуске заражает  жесткий  диск.   Те,  у  кого
монохром, могут спать спокойно  -  хоть  винчестер  и  будет
заражен, при  копировании  ничего  не  перенесется.   Как  и
Mutant эта зараза  хочет  трудно  обнаруживаться,  но  также
детектируется  и  вылечивается   просто.    Мне   понравился
антиотладочный прием - просто, и со вкусом.  Длина "прицепа"
переменная.  Вирус, наверное, ничего не испортит, если у вас
ничего нет в последних  пяти  секторах  последнего  цилиндра
жесткого диска.


        Dark Near - вариация  на  тему  Stoned,  всего  один
сектор, заражет  Boot  на  дискетах  и  Partition  table  на
жестком диске ( последнее  после вывода надписи "Near  dark"
портит).  Если при зараженной Partition table загрузиться  с
дискеты, логические диски  винчестера  будут  отсутствовать,
после лечения все восстанавливается.


        Tula - два вируса (пока два...) с длинами 419 и 635.
Tula419: заменяет собой начало файла, оригинальное же начало
дописывается  в  конец  файла,  причем  из  каких-то  высших
соображений первый байт оригинального начала уменьшается  на
единицу; размножается, если только установлен видеорежим  не
больше трех (опять на монохроме пришлось вирус  править...);
содержит  незашифрованную  строку  "Tula  1990.Sat";   автор
неплохо умеет программировать на ассемблере (но и не хорошо:
вирус можно уменьшить, не  меняя алгоритма,  как минимум  на
четыре байта); в субботу  14-го (день  рождения, что  ли...)
пытается  отформатировать  винчестер   по  нулевой   голове;
заражает  только  COMы   не  менне   2048  байт.    Tula635:
дальнейшее  развитие,  заражаются  и  -COM  и  -EXE;   через
определенное время стирает экран, выводит надпись "Formating
drive.." (в вирусе  строка зашифрована),  и начинает  ЧИТАТЬ
подряд весь винчестер,  причем буфером  для чтения  является
ПЗУ; мудрит местами, а вообщем можно ждать новую версию.


        Taiwan3  -  (RCE-2900),  в  COM-файдах   приписывает
оригинальный файл в конец себя, в EXE может перекрыть  конец
оригинального файла, поэтому  после лечения файл  становится
несколько короче,  может  быть  на  целый  килобайт  (правда
PCTOOLS 5.0 и после этого работал); COMMAND.COM не заражает,
но зато при запуске ACAD.EXE пытается стереть все:  дискеты,
первый и второй жесткие диски, а также CMOS, то же самое, но
не всегда и может  быть  в  меньших  размерах  возможно  при
мягкой перезагрузке (CTRL-ALT-DEL); перехватывает 8,9,13,21е
прерывания;  может  быть  написан  тем  же  человеком   (или
человеками т.к.  есть  зашифрованный  текст  "Copyright  (C)
1988,1989 by ABT Group."), что и вирус Fu Manchu.


        SVC 5.0 - дальнейшее  развитие линии SVC, длина  уже
3103, хотя вирус написан так неэкономно, что можно не  глядя
сократь по  меньшей мере  300 байт;  пытается спрятаться  от
всех и вся, маскирует и приращение длины и свое присутствие,
но товарищ забыл о  хорошей программе  PCTools, которой  все
его маскировки по боку;  после каждого заражения  'отдыхает'
60 тиков; не  дает себя  трасировать в  отладчиках; ...   но
ничего нового в развитие вирусов не внесено, увы, увы...


        Если вы копировали  файл с  дискеты, а  скопировался
только 1024  байт  -  не  запускайте  эту  программу,  лучше
посмотрите ей "в глаза", и если там вы увидете "BC 00 06  FF
06 EB 04"  первыми байтами,  то вам  принесли вирус  Driver.
Driver - это  НОВОЕ  СЛОВО  в  написании  вирусов  -  вирус,
который перехватывает не  прерывания, а драйвер  логического
диска - выглядит замечательно  !  Обманывается даже MSDOS  и
соответственно все, что на нее опирается в своих  проверках.
На  каждом  логическом  диске  хранится  только  одна  копия
вируса.  Прекрасная идея, хорошая  реализация - она была  бы
отличной, если бы вирус работал всегда и на всех машинах так
как было задумано автором.   К сожалению на Amstrad'e  вирус
запускался только из-под отладчика, а зараженная MSDOS  3.30
переставала  загружаться,  в   лучшем  случае   вываливалось
сообщение "Bad or missing Command Interpreter", в  остальных
машина   висла   с    видеоэффектами;   тяжело    заражалась
обыкновенная дискета на 360k.  По всей видимости зараза была
написана программистом,  очень хорошо  знающим ассемблер  (у
такого не грех и поучиться нескольким приемам, правда, вирус
можно "умять" еще немного), и писавшим драйверы.  Может быть
чтобы оценить  размеры  несанкционированного  копирования  -
внутри имеется счетчик размером слово (ко мне пришла  зараза
в 3Dh-om поколении), может быть для того чтобы  показать,что
на любой антивирус можно написать вирус...  Лучший антивирус
- загрузка с чистого диска и запустить команду FORMAT...


        Words  (6  модификаций)  -  судя  по  тексту  внутри
написан в Киеве,  автор вируса родился  в 1967 году,  (может
быть).  Заражает COM и EXE,  причем EXE превращаются в  COM.
Резидент располагвется в середине памяти, при любой записи в
файл переставляются местами слова в т.ч.  и русские, поэтому
при заражении SOS лучше переписать заново.  Версии,  начиная
с 1387 шифруются и  имеют якобы модифицирующийся  инсталятор
(для автора вируса - базироваться можно еще по регистру BP),
версии 1387 и 1391 виснут на машине с 386-m процессором.


        v401  -  переписывает  собой  COM,  EXE  в   текущем
каталоге, работает через  FCB,  содержит  текст:  "401  File
Virus.<CR><LF>Infects any .COM or .EXE file on any writeable
Device".  Восстановить исходный файл невозможно.


        v310 - резидент во второй половине таблицы векторов,
старое 21 переустанавливает  на 63  вектор, заражает  только
COM, четвертый байт  зараженной программы содержит  счетчик,
если вирус находится в  памяти,  то  при  сетчике=255  будет
происходить перезагрузка.


        Siskin - длина  1017, играет  мелодии, уменьшает  на
единицу поле MAXMEMORY в заголовке EXE, заражает и COM и EXE


        Sistor  -  2225  байт,   версия  4,  автор   ошибся,
обманывая AIDSTEST, поэтому  часто виснет.  На  самопроверке
зараженный SOS всегда  виснет.   В  следующей  версии  (2380
байт) ошибка исправлена и AIDSTEST обманывается по  другому.
В качестве шутки - симбиоз вирусов Ball и LeterFall.


        endof - 783 байта, строка "end of" находится в самом
конце  зараженного  файла;  знание  ассемблера  не  высоко,;
заражает  только  COM-файлы   при  операциях,  связанных   с
каталогом; перехватывает  только функцию  3bh (ChDir)  21-го
прерывания; оригинально проверяет свое присутствие в памяти-
пытается выполнить ChDir c ".ЖМОБ", резидентная часть вируса
меняет строку на "lkМОБ".


        Lord -  921 байт,  заражает и  EXE и  COM, причем  в
COMMAND.COMe вирус располагается  в области стека;  заражает
при запуске, копировании; зараженные  COMы  не  работают  на
машинах с 386процессором; имеет в конце текст "Dark Lord,  I
summon thee!  MANOWAR".


        PlayTet  -  552  байта,   при   открытии   файла   с
расширением .PRG в файл  записывается строка ?"PLAY  TETRIS,
HI-HI-HI..."


        Tumen1092 - (v  2.0  (c)  MaxSoft)  заражает  только
COM-файлы;  в  BOOT-секторе  накручивает  счетчик  (байт  со
смещением  0ah),  по  достижении  70h  затирает  первые  255
цилиндров винчестера;  написан любителем(лями)  структурного
программирования; не  правильно  восстанавливает  зараженный
файл; содержит много  разного текста  на иностранном  языке;
при вирусе в памяти  невозможно переименовать (DOS 56h)  или
удалить (DOS41h) файл в Norton Commander.
        Tumen1663 - (v  0.5)  при  заражении  каждого  файла
меняет палитру экрана, а  при CTRL-ALT-DEL  играет музыку  с
переливами экрана.


        XPEH -  монстр в  4016 байт,  львиная доля  которого
один в один  переписана с Doodla,  не убраны даже  некоторые
ненужные в данном вирусе  фрагменты; заражать файлы начал  с
марта 1991, а с сентября  будет портить файлы с  расширением
.bak, .lex .txt и без расширения.
        Позднее у меня появилась версия длиною 3840, по всей
видимости предшествиник,  в  котором  отсутствует  некоторые
антиотладочные приемы.
        А потом  пришла  версия  аж  в  4928  байт,  ну  это
вооще...  Для маскировки cам выдает результаты команды  DIR,
но товарищ забыл поставить один байтик и поэтому маскируется
только, если DIR  выдана  из-под  Norton  Commander,  точнее
демаскируется, потому что это  пародия на  команду DIR,  так
много  неточностей;  да,   списывать  проще   и  лучще.    В
Commander'e не видно приращения длины.
        Для автора XPEHовины: а  слабо написать вирус в  100
(сто) килобайт, или хотя бы в  50 ?  Но только чтобы  мусора
не было.


        Azusa - очень маленький бутовый вирусок, на дискетах
пишет оригинальный  BOOT на  39 трек,  а функции  загрузчика
MasterBoot выполняет сам,  поэтому при лечении  записывается
стандартный загрузчик; в качестве пакости  предусматривается
обнуление базовых адресов последовательного и  параллельного
портов.


        Jews - 513 байт, резидент во второй половине таблицы
векторов;  последний  байт  в   файле  -  счетчик,   который
уменьшается при  каждом  запуске  зараженной  программы,  по
достижении нуля  в  BOOT-сектор  записывается  строка  "Jews
NEWER surrender!".


        Vindicator - длина 734 байта, записывается в начало,
старое начало  переписывая в  конец, причем  первые 16  байт
шифруются  в  зависимости  от  ПЗУ,  если  при   расшифровке
контрольная сумма первых байт  не  совпадает,  то  программа
выходит по INT 20h, а  на таймер вешается резидент,  который
через определенное время рисует красный крест во весь  экран
и подпись VINDICATOR.  Можете использовать данный вирус  как
защиту от копирования.  Заражение  происходит при запуске  и
копировании файлов.


        v1308 - заражает COM-файлы  в текущем каталоге и  по
переменной PATH; в FATe  свободные места забивает  признаком
конца файла, этот мусор убирает CHKDSK.


        Lenin - длина 943  байта,  заражает  только  EXE  по
переменной   PATH;   файл   заражается   аналогично   вирусу
Voronezh1600, вставляя в точку входа 5 байт перехода на себя
и корректируя таблицу настройки;  иногда заражает один  файл
многократно; в конце файла  номер версии "V1.0@", перед  ним
счетчик, когда он  равен 5  или 6  выдается лозунг:  "САМЫЙ!
ЧЕЛОВЕЧНЫЙ!  ЧЕЛОВЕК!  Ленин и  сегодня  всех  живых  держит
мертвой   хваткой   упыря",   по   достижении   7    счетчик
сбрасывается; некоторые зараженные  программы,  как  правило
написанные на паскале, при запуске виснут.


        v1232 - заражает  только COM-файлы  при запуске,  по
всей видимости начало серии вирусов, имеет номер 1.1.   Есть
у меня и номер  1.0  который  отличается  только  номером  и
длиной в 1233 байта.   Написан  любителем  конрольных  сумм,
имеется   один   маленький   антидебагерный   прием,   такой
маленький, что сразу не увидишь.  Слава Дудлов еще долго  не
будет давать спокойно спать отечественным вирусописакам.


        March6  -  бутовый  вирус,  на  винчестере  заражает
таблицу разделов; при вирусе  в памяти не читаются  дискеты,
размеченые  на  800;  6  марта  затирает  диск,  с  которого
произошла загрузка.


        Problem - 863  байта, заражает и  COM, и EXE,  имеет
проблемы (портит файл, записывая мусор с 18 по 31 байты), на
машинах с QEMM, (или с ДОС  5.0 при DOS=HIGH,UMB - точно  не
понял, нет ни желания ни времени).


        v122 - маленький вирус,  работающий  только  на  AT,
живет во второй половине таблицы векторов (с 2e:0); заражает
при запуске; товарищ(и)  знают недокументированные  регистры
при загрузки, что несколько затрудняет просмотр в отладчике;
может испортить программы, сидящие высоко в памяти (8Cxx:0);
но есть болгарский TINY133, который работает и на XT, а если
подсчитать  байты,  сэкономленные  PUSHA\POPA  в  v122,   то
рекорда, увы, не получится.


        v145 - еще один,  принимающий участие в конкурсе  на
самый маленький вирус.


        2Jews - длина 2339 байт, очень оригинально проникает
на машину - при первом запуске читает c:\config.sys и ищет в
нем строку "device=", после  чего заражает драйвер,  который
указан  в  этой  строке.    При   первой   же   перезагрузке
оказывается в памяти.  Распространяется же заражая файлы  на
дескетах при копировании с винчестера (COM, EXE, SYS,  BIN),
или при запуске  программ с  дискеты.  Маскирует  приращение
длины в  NC, но  приращение заметно  при выполнении  команды
DIR.  Время  зараженного файла  ставит 62  сек.  Через  пять
дней после заражения перехватывает таймер и в 59 мин 30  сек
выдает позывные "Маяка" а  затем  сигналы  точного  времени.
Вроде бы так должно  быть  по  замыслу  автора,  но  у  меня
почему-то это работало только  вручную.  Внутри вируса  есть
строка "Jews-2 Virus.  MSU 1991"


        imp - длина 1402; заражает только COM-файлы (1460  -
62000 байт); все силы  тратит  на  борьбу  с  отладчиками  и
делает вид,  что  невидимка,  очищая  файлы  на  открытии  и
заражая при закрытии; внутри есть строка "Crazy imp 1.5";  в
памяти держит две  копии и  на каждый  int 1Ch  переписывает
верхнюю копию на место нижней, которая рабочая.


        Pavlik - (1606);  заражает  только  EXE  на  текущем
диске в момент запуска; номер версии "V1.1@" есть  последнии
пять байт зараженной  программы; дальнейшее развитие  вируса
Lenin;  содержит  несколько   ошибок,  которые  приводят   к
неработоспособности  зараженной   программы  в   большинстве
случаев, (SOS говорит о  точке входа  за концом  программы),
автор перестарался, и вставил лишний опреатор; лечение особо
ценных  файлов  возможно  вручную;   после  пяти  и   десяти
заражений выдает  соответственно  первый  и  второй  куплеты
песни  группы  "Крематорий"  "Павлик  Морозов  жив".   После
пятнадцати  заражений  счетчик   сбрасывается.   Написан   с
привлечением языка(библиотеки) высокого  уровня, но  уровень
вируса от этого не повысился.


        SVC 6.0  - (4464);  очередная зараза  из серии  SVC;
заражает кроме  выполняемых файлов  еще и  драйвера а  также
Partition table;  при  открытии  файла  AIDSTEST.C  в  конец
дописывается "/* (c) 1990-91 by SVC Vers 6.0*/"; а  вообщем:
какой он нудный.


        SVC 6.01 -(4661);  аналогичен предыдущему, только  в
файл AIDSTEST.EXE дописыватся  чуть  измененная  строка  "by
Moscow SVC".


        CDV 1.0 - (6656); файлово-бутово-матершинный  вирус,
последнее не только потому, что содержит в себе очень  много
нелитературных слов (правда в  зашифрованном виде), но и  по
тому как написан.  Сплошные  команды 286 процессора,  причем
без надобности; на  каждое 21h/4eh(4fh) читает/пишет  первый
сектор FAT'a -  определяет не  защищен ли  диск; при  первом
запуске на чистой  машине  заражает  MasterBoot,  и  очищает
зараженный  файл,  а  в   память   садится   при   следующей
перезагрузке;  перехватывает   8,9,17   прерывания;   внутри
предусмотрено много-много всяческих видеоэффектов: генератор
матерков великого и могучего (по все видимости), текст песни
группы "Гражданская оборона" - все это при каких-то условиях
выдается на экран;  делает вид,  что форматирует  винчестер;
имеет копирайт (зашифрованный): "ВАС ПРИВЕТСТВУЕТ ВИРУС  CDV
Ver 1.0 (c) 1992 Н-ск НЭТИ АСУ"
        CDV 1.1  - следующая  версия, по  замыслу автора  не
должна заражать XT, хотя сначала выполняется PUSHA, а  затем
смотрится  IBM  computer-type  code  (0F000:0FFFE).   А  CDV
оказывается, это CIVIL DEFENSE  VIRUS,  так  у  него  внутри
написано (шифровано).


        USA  -  (496);   заражает  при  запуске   COM-файлы,
начинающиеся с команды  JMP  XXXX  (E9h  XXh  XXh),  признак
зараженности   -   последний   байт   со   значением   0C3h.
Оригинальный вектор 21-го  прерывания  переставляет  на  int
7Ch.  Выдумал  не  очень  оригинальный  способ  базирования,
из-за чего приписывает к зараженной программе 1-16 байт  для
выравнивания.  В момент запуска зараженной программы  читает
системное время и по средам в промежуток от 10 до 13  секунд
каждой минуты расшифровывает и выдает:
* VIRUS C *
made in USA
        Не утруждает  себя  снятием  атрибута  READ-ONLY,  а
также проверкой, успешно ли открыт файл по записи.


        Later - (981); оригинал, заражает  и COM- и EXE-  по
окончании  их  работы,  при   выходе  в   ДОС  (наверное   с
антивирусами борется), а также  после 6-го открывания  файла
функцией   21h/3dh.  При   запуске   зараженная    программа
самоочищается.    Если   версия  ДОС   меньше  третьей,   то
зараженная программа завершается с сообщением "This programm
requires MS-DOS 3.00 or later".  Некорректно ищет расширение
файла.


        Bloody - очередная вариация на тему бутового  вируса
Stoned.  Через 128  загрузок  с  зараженного  винчестера  на
экране появляется надпись: "Bloody!  Jun.  4, 1989"  (внутри
вируса текст шифрован), затем  эта надпись появляется  через
каждые пять перезагрузок.   Если  вирус  в  памяти,  то  при
форматирование   дискет    оригинальный    BOOT-сектор    не
записывается на положенное место.


        Driver-DBF - ну когда же вируса будут работать,  как
было задумано их  авторами  !   Новая  модификация  Driver'a
опять не работает как надо - то свое тело забудет  записать,
то не тот кластер  поставит;  Ну  хоть  COMMAND.COM  (точнее
COMM*.*) перестала  заражать,  но  зато  удаляет  AIDS*.*  и
ADIN*.* - записывает во вход директория символ 0E5h, и этого
показалось  мало,  посему   предусмотрена  порча  файлов   с
расширением DBF - при каждом  чтение каталога через вирус  у
файла "отбирается" 100h (256)  байт.  Места для пакостей  не
хватает, а жить как-то надо в килобайте, поэтому  шифрование
оригинального стартового кластера отменено, теперь он  лежит
со смещение +12h  в  записи  каталога.   Возможны  ситуации,
когда не будут читаться  файлы -  можно попробовать  вручную
вернуть старое значение.   В памяти по-прежнему  маскируется
под досовский сегмент - что  видно на многих картах  памяти.
И  по-прежнему  четкое   восстановление   всех   файлов   не
гарантируется - как заражаются, так и восстанавливаю, sorry.


        ATAS  -  (384,400,1268,3215,3235,3321  байт).    Все
заражают  только  COM-файлы,  причем  первые  два  только  в
текущем каталоге в момент запуска зараженной программы,  все
имеют зашифрованный копирайт "ATAS"  в различных вариантах и
несильно изменяют свое начало  от копии  к копии.   ATAS-384
после заражения выводит строку  "Ok.", если текущие  секунды
менее восьми.  ATAS-400 выводит "I like to travel...",  если
секунды   меньше   трех.    ATAS1268   перехватывает   пятое
прерывание  и  на   нажатие   PrintScreen   осыпает   буквы.
Последние  три  незначительно  различаются  между  собой   и
работают только в  DOS 3.30 из-за  того, что хотят  обходить
резидентных  сторожей  (специально   написаны   так,   чтобы
обходить Inspector'a).   Проявляются  различными  эффектами,
вплоть до деинсталлирования из  памяти и объявления об  этом
цветной надписью "Bye-bye.".


        Adolf  -  (475)  располагается  во  второй  половине
таблицы векторов, имеют нешифрованную строку "Adolf Hitler",
случайно, в зависимости от  текущего  времени  не  допускают
удаления файлов через Int 21h/41h.


        Koba - (2430) сильно  мудренный  от  недостатка  ума
вирус, использующий  трассировку 21-го  и 13-го  прерываний,
заражающий COM- и EXE-файлы,  причем последние заражает  как
COM-файлы, а  потом  сам  настраивает  таблицу  перемещений.
Случайным  образом  затирает  или  форматирует  диск.   Если
месяц*2=день, то в MasterBoot записывается код, который  при
следующей перезагрузки выводит  переливающийся  текст  "Long
Live KOBA JUGASHVILI, The Chief Of All Times And  Nations!".
Использует врезку в 21-е  прерывание, вставляя  INT 65h,  но
без отладчика у меня не работал никак, а под отладчиком  все
время  циклится  на  этой  самой  врезке.   Имеет  еще  одну
незашифрованную строку    "Enola Gad LIVE! and now flying to
SoftPanorama! Version 1.9 (C) ViruSoftPanorama 1990".


        Protect - (1196) заражает COM- и EXE-файлы,  борется
с отладчиками,  постоянно  с  собой  "носит"  часть  кода  с
текстом  "File  protection".   На   каждый  вызов  int   21h
спрашивает дату и после  1991 года  затирает базовые  адреса
портов последовательного и паралельного портов и  "обрубает"
мышь. Не восстанавливает вектор 24-го прерывания.


        Tula427 - вариант вируса Tula419.


        v1014 - (1014)  заражает  COMфайлы,  начинающиеся  с
команды JMP (код  0E9h) как EXE  из-за чего после  заражения
они становятся неработоспособны.  иногда двигает изображение
на экране.


        Waiting - (1700) при инсталляции в память заражает
все программы на диске, которые в данный момент находятся
резидентно в памяти. Выдает на экран надпись "Waiting", но
увидеть ее можно только на очень медленной машине или под
отладчиком.


        Driver-FACE - очередной  вирус  из  серии  "Driver".
Очень любит слово  FACE  а  может  быть  CEFA.   В  DOS  5.0
неправильно определяет сегмент, где находится обработчик Int
21h.  Имеет вид EXE-файла,    длина  по-прежнему 1024  байт.
Все зараженные файлы ссылается  на  первый  кластер.   Номер
оригинального стартового кластера  переписывает по  смещению
+12h в  записи  каталога,  причем  этот  номер  шифруется  в
зависимости  от  характеристик   диска  и  шифрующая   гамма
различается в корневом/некорневом каталоге.


        Invader - (4096)  заражает COM/EXE/Boot.  Написан  в
1990 году тем же автором, что  и TAIWAN3.  Та же нелюбовь  к
ACAD.EXE; затирает диски  надписью "by  Invader, Feng  China
U., Warning: Don't run ACAD.EXE".  Оригинальный  Boot-sector
и свое тело в случае заражения Boot'а прячет на дискетах  на
40(80) дорожку,  предварительно  ее  форматируя,  правда  не
всегда  тело  вируса  и  boot  там  оказывается,  тогда  при
загрузке машина вмснет.


        Spook - заражает BOOTсектор на дискетах, мастер-BOOT
на жестких дисках.  При  чтение с  диска зараженного  BOOT'а
подсовывает настоящий.  Со смещением  +5  имеет  счетчик  (1
байт), который уменьшается, и по достижению нуля  затирается
MasterBoot.   Имеет   текстовую  строку   "Spook 1.0*  LIM "
,(вместо '*' стоит 0x0).


        Pen - (10716) третий вирус (V1.2@, предыдущие: Lenin
и Pavlik), написанный бывшим преподавателем политехнического
института с мозгами сексуально-озабоченного юноши.


        Gelengik   -   бутовый,   на   винчестере   заражает
masterBoot.   На  зараженной   машине  при  попытке   чтения
masterBoot'a подсовывает оригинальный.


        Exe512  -  заражает   только  EXE,  перехватывая   и
обрабатывая FindFirst/FindNext (из-за чего  в  NC  не  видно
приращения длины);  признак  зараженного  файла  -  значение
3d3dh ("==") в поле  контрольной  суммы  заголовка;  в  дате
файла к году добавляет 100;  длина вируса - 512 байт;  файлы
заражаются начиная с длины 3584 байт; вешает машину с 386-ым
процессором; абсолютно честно переставляет 21-й вектор на
себя через int 21h/ax=2521h.


        Alex  -  нерезидентный,   заражает  файлы,   имеющие
расширения .COM, не  глядя на  внутреннюю структуру.   Имеет
надпись: "Alex & Solo"; длина 512 байт.


        VS-71 - (3900) стелс на уровне 91-го года, заражает
COM и EXE, резидентный. Шифруется в зависимости от таймера,
имеет зашифрованную надпись: "VS-071-"GHOST", (C) 1993
ViruSystems inc."; ничего нового...


        Omsk - (2000);  резидентный;  заражает  com,exe  при
копировании  на  дискеты  в   момент  закрытия  файла;   при
инсталляции в память заражает "c:\command.com", причем длина
зараженного command.com  не  меняется;  перехватывает  13-e,
21-e, причем на обработке int 13h/ah=5 ( format track ) код,
который вне  зависимости от  типа дискеты  первым 9-и  полям
"номер сектора", присваивает  номера от 9  до 1, но  который
после 20 запусков или в январе-июне нейтрализуется навсегда.


        BigX - (610); резидентный,  заражает только EXE  при
пользовании  функциями  FindFirst/FindNext,  через  эти   же
функции маскирует приращение длины;  в поле CheckSum  ставит
02e2eh (".."); не заражает файлы SC*.*, AI*.* а также файлы,
имеющие  длину  менее   (4096-610)  байт;   виснет  на   386
процессоре (вполне возможно и 286-х тоже); внутри виднеется
строка "[BigX]".


        Exe1024 - заражает только EXE в текущем каталоге
при выполнении досовских функций 4bh,3eh,40h; в поле
CheckSum ставит 0ffffh; устраивает пакости с клавиатурой -
обнуляет флаги нажатий клавиш ctrl/alt/shift в переменных
БИОСа, меняет на обратный код нажатия/отпускания;
перехватывает 8-й и 21-й вектора.


                            * * *

                                            ПРИЛОЖЕНИЕ.

        Несколько советов создателям вирусов:
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        - не надо проверять,стоит ли на машине версия  MSDOS
1.0 (покажите мне человека, который на ней работает)...
        - ...  , а  если  проверяете  версию  DOS,  то  хоть
знайте зачем
        - не сильно  мудрите, ставя  признак зараженности  в
EXE, есть  хорошее  неиспользуемое  поле  CheckSum  (+12h  в
заголовке), и не надо трогать ни байты в последней  странице
(+2), ни MaxMem (+0ch)
        - не надо лениться проверять именно расширение файла
и причем  все  три  символа,  особенно  если  заражаете  при
открытии файла
        -  если  хотите   порадовать  какой-либо   надписью,
проверьте, а тем ли на самом деле будете радовать
        -  если  хотите   порадовать  какой-либо   пакостью,
проверьте ее сначала на своей машине: вдруг она не сработает
(как вам будет обидно!)
        - не считайте,  что  все  остальные  машины  в  мире
похожи на вашу, как две капли, все-таки кое-где  сохранились
и прекрасно работают  процессоры  8088\8086,  и  монохромные
дисплеи (сам за такой сидел), а кое-где есть и 80386
        - после  того,  как  работа  над  вирусом  окончена,
отложите его в сторону дней  на десять, потом посмотрите  на
него со  стороны и  сократите на  пару лишних  сотен байт  и
опять отложите ...
        - ...,  если  вам  кажется,  что  сокращать  нечего,
значит вы недостаточно хорошо знаете ассемблер
        - пишите проще !
        - DOS иногда  имеет  привычку  устанавливать  флажок
переноса, не надо экономить на мелочах, проверяйте флажок
        - если сами нумеруете  версии, то не выпускайте  два
разных вируса под одним номером
        - никто не  запрещает иметь  каталоги с  расширением
COM или EXE, а в них могут находиться не только  выполняемые
файлы


                         * * *
