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


Аудио, перекрываемое данными


Рассмотрим многосессионный диск, состоящий из двух сессий —– аудио-сессии и сессии с данными. При просмотре такого диска средствами операционный системы Windows мы увидим лишь том с данными, в то время как обыкновенные аудио-проигрыватели будут исправно воспроизводить сессию с аудио треками, ничего не подозревая о существовании сессии данных (для совместимости с аудио проигрывателями сессия с аудио треками всегда должна располагаться первой). Теоретически аудио треки могут быть прослушаны путем "ручного" запуска CD-плеераplayer'а, но практически же это обычно не удается, т. к. защита использует "дополнительные рубежи обороны" (например, кастрированный урезанная область Lead-inLead-In, внесение неисправимых CIRC-ошибок и т. д.), препятствующие такому простому способу "взлома".

Визуально такие компакт-дискиы распознаются по характерной области Lead-outLead-Out области, расположенной вблизи внешнего края диска (см. рис. 0x022). Это и есть тот барьер, что отделяет аудио сессию от сессии данных. Само по себе наличие "посторонней" области Lead-outLead-Out области еще не свидетельствует о наличии защиты, она присутствует и на, так называемых, дисках CD-Enhanced дисках, – т. е. дисках смешанного типа (аудио плюс данные), вполне успешно поддерживаемых современными приводами или /операционными системами, однако, в любом случае —– это весьма тревожный симптом и без особой нужны такой диск лучше не покупать (а, впрочем, чего уж там, покупайте —– все равно взломаем!). Блестящее колечко области Lead-Out, расположенной недалеко от внешнего края лазерного диска и хорошо различимое в отраженном свете, еще не свидетельствует о наличии защиты от воспроизведения, но вероятность ее наличия чрезвычайно велика. В частности, изображенный на фотографии диск (рис. 7.1) защищен Cactus Shield 2.00, — наиболее популярной защитой от цифрового копирования аудидисков на сегодняшний день.




Рис. 7.1. унок 21 0х022 Блестящее колечко Lead- out области, расположенной недалеко от внешнего края лазерного диска и хорошо различимое в отраженном свете, еще не свидетельствует о наличии защиты от воспроизведения, но вероятность ее наличия чрезвычайно велика. В частности, изображенный на фотографии Диск защищен Cactus Shield 2.00, —– наиболее популярной защитой от цифрового копирования аудидисков на сегодняшний день .

Сессия данных может включать в себя все, что угодно, вплоть до того, чтобы быть совсем пустой. Но обычно здесь находится сильно сжатое аудио в формате MP3. Причем это аудио mp3 чаще всего записывается не в виде отдельных файлов, которые можно скопировать с диска и выложить в Интернет, а "закатывается" в исполняемый файл-оболочку, запускающийся только с оригинального CD! Естественно, файл-оболочка работает только в среде Windows и пользователям UNIX/Mac остается лишь "облизываться" или… ломать защитный механизм на корню! Ну, если процедура восстановления некорректно записанного компакта, осуществляемая за собственный счет, уже называется взломом, то…

Если никаких дополнительных защитных уровней не предусмотрено, то содержимое аудиосесссии может быть элементарно "сграблено" в MP3/WMA. Большинство штатных программ для "прожига" CD-R/RW позволяют просматривать содержимое всех сессий диска и первой сессии в том числе. Вы можете использовать Roxio Easy CD Creator, Stomp Record Now! или любую другую аналогичную программу по своему выбору. В Roxio Easy CD Creator'e просто выберите в меню "CD" пункт "CD Information" и выделите один или несколько аудио-трекови первой сессии, а затем нажмите "Convert Audio" и… наслаждайтесь высококачественной музыкой, сграбленной в вашем любимом формате (та версия, Roxio Easy CD Creator'a, что поставляется вместе с рекордером PHILPS не поддерживает формат MP3 и предлагает на выбор всего два варианта: WMA и WAV).



Как вариант можете создать исправленную копию защищенного диска, удалив из него лишнюю сессию с данными. Программа Clone CDCloneCD способна справиться с этим и автоматически. Просто найдите в окне Profile parameters ("Параметрыах профиля)" взакладку Audio read parameters ("Параметры чтения аудио)", а в ней —– флажокпункт Read first session only ("Чтение только первой сессии)". Установить егоВзведите напротив него галочку и нажмите кнопку "ОК" для подтверждения. Копирование диска будет протекать в обычном режиме, но в результате него, вы получите обыкновенныйх аудио диск безо всякого постороннего "мусора".

Копировщик Alcohol 120% не поддерживает такой возможности, но позволяет добиться аналогичного результата вручную. Осуществляется это следующим образом: на первом этапе мы должны получить образ диска, записанный в формате Clone CDCloneCD (Alcohol 120%Алкоголик это позволяет). Затем, отредактируем CCD-файл так, чтобы вычеркнуть из него все упоминания о сессии (сессиях) с данными. Прежде всего, мы должны уменьшить значение поля "Sessions" с двух до одного. Затем, удалить из файла все Entry, в которых значение полячей "Session" больше единицы. Теперь скорректируем значение поля "TocEntries", сократив его на величину удаленного количества Entry. Остается удалить лишь один или несколько последних треков с данными. Сквозная нумерация треков несколько осложняет эту, казалось бы с виду простую задачу, поскольку мы не можем быстро установить какой трек к какой сессии принадлежит. Поэтому, приходится либо подсчитывать количество треков вручную (поля Point со значением больше нуля, но меньше 0x64), либо удалять все треки, чей Mode не равен нулю. Конкретный пример работы с CCD-файлом приведен в листинге 7.1ниже.

Листинг 7.1. Коррекция CCD-файла для взлома диска

[CloneCD]                                                            [CloneCD]

Version=3                                                            Version=3





[Disc]                                                             [Disc]

TocEntries=24                                                    TocEntries=20

Sessions=2                                                          Sessions=1

DataTracksScrambled=0                                           DataTracksScrambled=0

CDTextLength=0                                                  CDTextLength=0

[Session 1]                                                        CDTextLength=0

PreGapMode=0                                                      PreGapMode=0

PreGapSubC=0                                                      PreGapSubC=0

[Session 2]                                                        [Session 2]

PreGapMode=2                                                      PreGapMode=2

PreGapSubC=0                                                      PreGapSubC=0

[Entry 0]                                                            [Entry 0]

Session=1                                                            Session=1

Point=0xa0                                                          Point=0xa0

ADR=0x01                                                              ADR=0x01

Control=0x00                                                      Control=0x00

TrackNo=0                                                            TrackNo=0

AMin=97                                                           AMin=97

ASec=26                                                           ASec=26

AFrame=66                                                            AFrame=66

ALBA=-11634                                                        ALBA=-11634

Zero=0                                                             Zero=0

PMin=1                                                             PMin=1

PSec=32                                                           PSec=32

PFrame=0                                                              PFrame=0

PLBA=6750                                                            PLBA=6750





[Entry 20]                                                          [Entry 20]

Session=2                                                            Session=2

Point=0xa0                                                          Point=0xa0

ADR=0x01                                                              ADR=0x01

Control=0x04                                                      Control=0x04

TrackNo=0                                                            TrackNo=0

AMin=72                                                           AMin=72

ASec=22                                                           ASec=22

AFrame=38                                                            AFrame=38

ALBA=325538                                                        ALBA=325538

Zero=0                                                             Zero=0

PMin=16                                                           PMin=16

PSec=32                                                           PSec=32

PFrame=0                                                              PFrame=0

PLBA=74250                                                          PLBA=74250



[Entry 23]                                                          [Entry 23]

Session=2                                                            Session=2

Point=0x10                                                          Point=0x10

ADR=0x01                                                              ADR=0x01

Control=0x04                                                      Control=0x04

TrackNo=0                                                            TrackNo=0

AMin=72                                                           AMin=72

ASec=23                                                           ASec=23

AFrame=17                                                            AFrame=17

ALBA=325592                                                        ALBA=325592

Zero=0                                                             Zero=0



PMin=73                                                           PMin=73

PSec=54                                                           PSec=54

PFrame=38                                                            PFrame=38

PLBA=332438                                                        PLBA=332438

[TRACK 1]                                                            [TRACK 1]

MODE=0                                                             MODE=0

FLAGS= DCP                                                          FLAGS= DCP

INDEX 1=0                                                            INDEX 1=0

[TRACK 2]                                                            [TRACK 2]

MODE=0                                                             MODE=0

FLAGS= DCP                                                          FLAGS= DCP

INDEX 1=19173                                                    INDEX 1=19173



[TRACK 16]                                                          [TRACK 16]

MODE=2                                                             MODE=2

INDEX 1=0                                                            INDEX 1=0

Листинг 68 коррекция CCD-файла для взлома диска

Некоторые диски содержат "зловредную" программу, автоматически запускающуюся при загрузке диска и скрытно внедряющуюся в оперативную память компьютера. Ее основная задача —– охрана аудио треков от цифрового грабежа. Конкретные реализации такого "сторожа" довольно различны. Можно, например, периодически сканировать список окон верхнего уровня (см. описание функции FindWindows или EnumWindows в Platform SDK) на предмет поиска заголовков наиболее популярных "грабилок". Хороших программ для работы с цифровым аудио существует не так уж и много, поэтому вполне реально научиться опознавать их всех. Коль скоро окно программы найдено, защита может вытворять с ним все, что угодно. В частности, для принудительного завершения приложения ему достаточно послать сообщение WM_DESTROY.


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