Разрыв в нумерации треков первой сессии
Эту психованную ненормальную защиту мы рассмотрим лишь теоритически —– на тот случай, если вам попадет диск, первая сессия которого разорвана каким-то моральным уродом и по причине конфликта с вашим оборудованием читается неправильное или, что более вероятно, не читается вообще. На этот случай в уголовном кодексе имеется статья об умышленном вредительстве, а с точки зрения прав потребителя —– продажа товара заведомо не соответствующего соответствующим спецификациям —– незаконна и потому нейтралиция защит подобного типа на юридическом языке зовется не "взломом", а ремонтом товара, осуществляемого непосредственно самим покупателям. В общем, как говорится —– на всякую хитрую гайку найдется свой хакер с характерным пивным животом.
Изучение "повдадок" защиты мы начнем с создания своеобразной "лабораторной крысы" или тестового стенда —– это уж как вам будет угодно. Извлечем из архива CCD-файл, сохранившийся после наших экспериментов по созданию фиктивного трека во второй сессии (вы ведь храните все свои CCD-файлы, правда?) и отредактируем его так, как показано в листинге 6.35.ниже: Номер второго трека заменен на девятый, соотвественно, номер третьего трека второй сессии заменен на десятый для обеспечения корректной стыковки двух сессий.
Листинг 6.35. Создание разрыва в нумерации треков первой сессии
[Entry 1] | [Entry 1] | [Entry 3] | [Entry 3] | [Entry 8] | [Entry 8] | ||||||
Session=1 | Session=1 | Session=1 | Session=1 | Session=2 | Session=2 | ||||||
Point=0xa1 | Point=0xa1 | Point=0x02 à | Point=0x09 | Point=0xa0 | Point=0xa0 | ||||||
ADR=0x01 | ADR=0x01 | ADR=0x01 | ADR=0x01 | ADR=0x01 | ADR=0x01 | ||||||
Control=0x04 | Control=0x04 | Control=0x04 | Control=0x04 | Control=0x4 | Control=0x4 | ||||||
TrackNo=0 | TrackNo=0 | TrackNo=0 | TrackNo=0 | TrackNo=0 | TrackNo=0 | ||||||
AMin=0 | Amin=0 | AMin=0 | AMin=0 | AMin=0 | AMin=0 | ||||||
ASec=0 | Asec=0 | ASec=0 | ASec=0 | ASec=0 | ASec=0 | ||||||
AFrame=0 | AFrame=0 | AFrame=0 | AFrame=0 | AFrame=0 | AFrame=0 | ||||||
ALBA=-150 | ALBA=-150 | ALBA=-150 | ALBA=-150 | ALBA=-150 | ALBA=-150 | ||||||
Zero=0 | Zero=0 | Zero=0 | Zero=0 | Zero=0 | Zero=0 | ||||||
PMin=2 à | Pmin=9 | PMin=3 | PMin=3 | PMin=3 à | PMin=10 | ||||||
PSec=0 | Psec=0 | PSec=1 | PSec=1 | PSec=0 | PSec=0 | ||||||
PFrame=0 | PFrame=0 | PFrame=33 | PFrame=33 | PFrame=0 | PFrame=0 | ||||||
PLBA=8850 | PLBA=-1 | PLBA=13458 | PLBA=13458 | PLBA=8850 | PLBA=-1 | ||||||
[Entry 9] | [Entry 9] | [Entry 11] | [Entry 11] | [TRACK 1] | [TRACK 1] | ||||||
Session=1 | Session=1 | Session=1 | Session=1 | MODE=1 | MODE=1 | ||||||
Point=0xa1 | Point=0xa1 | Point=0x03 à | Point=0x010 | INDEX 1=0 | INDEX 1=0 | ||||||
ADR=0x01 | ADR=0x01 | ADR=0x01 | ADR=0x01 | ||||||||
Control=0x04 | Control=0x04 | Control=0x04 | Control=0x04 | TRACK 2] | [TRACK 9] | ||||||
TrackNo=0 | TrackNo=0 | TrackNo=0 | TrackNo=0 | MODE=1 | MODE=1 | ||||||
AMin=0 | Amin=0 | AMin=0 | AMin=0 | INDEX 1=0 | INDEX 1=0 | ||||||
ASec=0 | Asec=0 | ASec=0 | ASec=0 | ||||||||
AFrame=0 | AFrame=0 | AFrame=0 | AFrame=0 | [TRACK 3] à | [TRACK 10] | ||||||
ALBA=-150 | ALBA=-150 | ALBA=-150 | ALBA=-150 | MODE=1 | MODE=1 | ||||||
Zero=0 | Zero=0 | Zero=0 | Zero=0 | INDEX 1=0 | INDEX 1=0 | ||||||
PMin=3 à | Pmin=10 | PMin=6 | PMin=6 | ||||||||
PSec=0 | Psec=0 | PSec=1 | PSec=1 | ||||||||
PFrame=0 | PFrame=0 | PFrame=33 | PFrame=33 | ||||||||
PLBA=8850 | PLBA=-1 | PLBA=26958 | PLBA=26958 |