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



              

Защиты, основанные на физических дефектах - часть 2


Рис. 9.1. унок 23 0х032 Диск с умышленно поврежденным сектором (эдакий "вулканчик", расположенный ниже середины экрана). Использование специального оборудования позволят прожечь поверхность точно по центру спиральной дорожки (впрочем, вряд ли вы удивите все эти подробности при такой полиграфии)

Приходится хитрить и имитировать сбой программными средствами! Первое, что приходит в голову — создать простейший эмулятор диска CD-ROM, который при попытке обращения к проверяемым защитой секторам, будет возвращать ошибку чтения, вводя тем самым "глупую" защиту в заблуждение. Причем, и сам эмулятор, и образ оригинального диска можно без труда "закатать" на болванку CD-R, используя "пережиг" (over-burn). Другой способ взлома заключается в реализации резидентного перехватчика, контролирующего все обращения к диску CD-ROM и возвращающего ошибку чтения при проверке определенных секторов на "дефективность".

Оба способа широко использовались еще во времена MS-DOS и дискет на 5,25", а потому методика создания эмуляторов и перехватчиков хорошо отработана. Конечно, лазерный диск — совсем не тоже, что дискета, однако, методика работы с ним в целом общая. Единственная проблема — для установки дискового эмулятора операционная система Windows NT требует наличия прав администратора, которые не у всех есть. В этом смысле использование перехватчика представляется более предпочтительным, поскольку для перехвата API-функций порожденного нами процесса никаких особенных прав не нужно — просто правим таблицу импорта и все! (Как вариант — ставим на API-функции точки останова или закрепляем на них "хуки" (hooks)). О том, какие именно функции мы должны перехватывать — читайте далее в этой главе.

Кстати, лазерный диск выгодно отличается от дискеты тем, что позволяет имитировать физические дефекты поверхности на логическом уровне. Вспомните о тех корректирующих кодах, которые находятся в "хвосте" каждого сектора.


Содержание  Назад  Вперед