Техника защиты компакт-дисков от копирования

>>>>> Блокирование/разблокирование кнопки Eject


Если приложение, взаимодействующие с CD, выполняет операцию, которая не должна быть ни при каких обстоятельствах прервана, можно воспользоваться ICTL-командой блокировки лотка–— IOCTL_CDROM_MEDIA_REMOVAL (а вот и ее непосредственное значение: 0x24804). При попытке выполнитьсделать возврат диска —у "Eject" — при заблокированном лотке, мой накопитель PHILIPS CDRW начинает "злобно" моргать" красным огоньком, показывая, что диск находится внутри (""IN"), но он заблокирован ("is locked"). Вплоть до момента разблокирования лотка извлечь диск можно разве что при помощи булавкиой или перезагрузивкой операционнуюой системуы.

Уже одно это создает богатое поле для всевозможных "пакостей" со стороны многочисленных злоумышленниковзлоумышленников, да и просто некорректно работающих программ, успевающих "умереть" от критической ошибки прежде, чем разблокировать лоток. Как с этим бороться? Да очень просто –— разблокировать лоток самостоятельно!

Дело в том, что система не требует, чтобы разблокирование выполнялось в контексте того процесса, который выполнил блокирование. Она просто ведет счет количества блокировок, и если тот равен нулю, –— лоток свободен. Соответственно, если счет блокировок равен, например, шести –— мы должны шесть раз вызывать команду разблокирования, прежде чем лазерный диск удастся извлечь на свет божий.

Утилита, исходный текст которой приведен в листинге 2.5.4ниже, позволяет манипулировать счетчиком блокировок диска по вашему собственному усмотрению. Аргумент командной строки "+" увеличивает значение счетчика на единицу, а "–" –— уменьшает на единицу. При достижении счетчиком нуля дальнейшие попытки его уменьшения не возымеют никакого действия.

Как это можно использовать? Ну, например, для преждевременного извлечения диска из записывающей программы, что полезно для экспериментов. Другое применение: отлучаясь от своего компьютера на несколько минут, вы можете заблокировать диск, чтобы быть уверенными, что окружающие коллеги его не упрут.

Содержание раздела