Копирование без границ или передовые методики защиты CD

         

Обзор популярных средств защиты


Механизмы привязки к CD-ROM можно разделить на три большие группы. В первую (и наиболее древнюю) попадают защиты, внедряющие ключевую метку в служебные структуры данных, не копируемые штатными копировками. Это может быть и область пред-зазора первого трека (first pre-gap), и субканальные данные, так же называемые данными подканалов (subchannel data) и т. д. Достоинства — высокая совместимость с различными моделями приводов и предельная простота программной реализации. Недостатки — при подготовке диска к тиражированию придется долго объяснятся с сотрудниками завода. Обычно им передают готовый диск или образ, содержащий только пользовательские данные (он же образ типа ISO9660, хотя это название не вполне корректно), здесь же требуется "сырой" (RAW) образ в формате 2352/96, который поддерживает далеко не всякое оборудование! Зачастую, производитель игнорирует наши требования и вопреки всем обещаниям и договорам с "конвейера" сходят диски, записанные стандартным образом, то есть без ключевых меток, а для заказчика это катастрофа! (Поверьте, моему горькому опыту, это довольно часто встречается). Но это все равно напрасно, поскольку такие защиты уже давно копируются специализированными копировщиками. Исключение составляет ключевая метка в Q-подканале аудио-трека. Без спецоборудования она не копируется в принципе! Как-нибудь мы об этом поговорим ### (В следующей статье мы об этом еще поговорим)

Вторая группа защитных механизмов основана на нестандартных форматах диска (необычная длина сектора, нестандартные номера треков, искаженные заголовки и т. д.). Все они крайне конфликтны и отказываются идти на многих моделях приводов, к тому же при тиражировании дисков возникают очень серьезные проблемы, намного более серьезные, чем в первом случае. Как правило, требуется специальное (и весьма дорогостоящее!) оборудование, оправдывающее себя только на больших тиражах. Но эти вложения вряд ли окупятся, поскольку копировщики защищенных дисков уже давно справились с нестандартными форматами, так что не будем на них останавливаться и двинемся дальше.


Третью группу возглавляют защиты, привязывающиеся к физической структуре носителя. Их можно разделить на две подгруппы. Первая выделяет на диске некоторые более или менее уникальные характеристики, к которым, собственно, она и привязывается. Вторая же, не собираясь ждать милости от природы, самостоятельно формирует трудновоспроизводимые дефекты на диске. Возьмем известную защиту Laser Lock, которую легко опознать по наличию крошечной "дырки", проделанной лазером точно посередине спиральной дорожки (аналогичный способ был широко известен еще во времена дискет, причем их дырявили не только лазером, но еще и гвоздем). На первый взгляд тут должен образоваться BAD-сектор, однако, практика показывает, что диск читается без проблем. А как же дыра? Все дело в кодах Рида-Соломона, корректирующей способности которых вполне хватает для исправления "дыры". Но если отключить коррекцию ошибок, то в секторе сразу же обнаружатся "дефективные" биты, причем начало разрушенной области будет соответствовать позиции дырки в секторе. Это если объяснять на пальцах.

На самом деле все намного интереснее и сложнее. Структура хранения данных на лазерном диске такова, что физически смежные биты расположены значительном удалении друг от друга, зачастую даже в различных секторах! Информация как бы "размазывается" вдоль спиральной дорожки, чтобы противодействовать царапинам и дефектам. Дело в том, что корректирующие коды Рида-Соломона отлично справляются с одиночными ошибками, но намного хуже с групповыми. Чтобы ослабить влияние дефектов пришлось прибегнуть к перемешиванию. А это значит, что "дыра" затрагивает не один сектор, а целую группу секторов! Это дает возможность распознавать "виртуальные" BAD-сектора, имитируемые копировщиками. Поразительно, но ни одна из коммерческих защит такой проверки не выполняет! Тем не менее, копировщики защищенных дисков уже давно научились обходить Laser-Lock, имитируя даже такие "тонкие" эффекты как увеличение времени чтения "продырявленных" секторов и т. д., так что такой прием подходит только для борьбы со штатными копировщиками.


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



Рисунок 3 лазерный диск, защищенный Laser Lock ("снимок" получен сканером HP 1200)

Остается последний тип защиты — измерение физических характеристик спиральной дорожки (так же называемый снятием топологии). По такому принципу, в частности, работают CD-Cops, SecureROM 4x, Star-Force и некоторые другие защиты. Методика отработанная, можно даже сказать вылизанная до зеркального блеска, и неплохо себя зарекомендовавшая. Судите сами. В образ защищенного диск не вносится никаких изменений и для его тиражирования можно использовать абсолютно любое оборудование, в том числе и бытовой CD-R/RW рекордер. Скопировать физическую структуру спиральной дорожки нереально (на CD-R/RW дисках уже нанесена предварительная разметка, причем у каждого типа болванок своя), и хотя ее можно проэмулировать, от эмуляторов легко защититься (чуть позже мы покажем как). По правде говоря, существует возможность подбора болванки с похожей спиральной структурой, однако, если привязываться не к одной, а нескольким физическим характеристикам, вероятность подобрать "правильный" диск будет крайне мала.

В принципе, можно воспользоваться готовым защитный пакетом, но во-первых, за него придется платить. Во-вторых, все вышеперечисленные защиты легко копируются в режиме эмуляции копировщиками Clone CD и Alcohol 120%. Исключение составляет Star-Force Professional Edition, непосредственно скопировать который еще никому не удалось, однако (и это в третьих!), защита слишком агрессивно вгрызается в операционную систему, вызывая множество проблем у легальных пользователей. Разработчики характеризуют себя как людей с хакерским прошлым, сильных в системном программировании. Что касается прошлого — с этим можно согласиться. Операционную систему они знают лучше, чем свой задний двор.Но вот программировать умеют едва ли. Программирование — это в первую очередь проектирование. А проектирование — это учет рисков. Никакой конструктор не позволит себе стоить мост по непроверенным формулам или проводить на нем научные эксперименты, гадая — произойдет обрушение на этот раз или не произойдет. Программа, ориентированная на массовое применение, просто не может пользоваться недокументированными возможностями и прочими приемами нетрадиционного программирования (в народе именуемых хаками). У себя в заднем дворе делайте, что хотите, но вот пользователю требуется нормальный продукт.

А давайте запрограммируем защиту самостоятельно! Ядро измерителя структуры спиральной дорожки занимает всего несколько строк на Си. Вместе с обвязочным кодом выходит около десятка… Полный цикл разработки вместе с отладкой легко укладывается в пару недель. Так стоит ли за это платить?


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