Автоматическое копирование и обсуждение его результатов
В какой бы привод защищенный диск не был вставлен, Clone CD выдает неизменно постоянный результат, не имеющий ничего общего с реальной действительностью. По его скромному мнению, диск содержит всего одну сессию с общей протяженностью в 4,6 мегабайт, но зато размер единственного трека последней составляет ни много ни мало – 3,9 терабайт!
ИНФОРМАЦИЯ О CD В ДИСКОВОДЕ:
Число сессий:
Занято на диске: 4726 Кбайт
Секторов: 2058
Время: 00:27:33 (мин:сек:кадр)
ИНФОРМАЦИЯ О СЕССИИ 1:
Размер сессии: 4726 Кбайт
Число треков: 1
Pregap: Данные Mode 1, размер: 103359 Кбайт
Track 1: Data, размер: 4294868664 Кбайт
Листинг 6 таким видит защищенный диск копировщик Clone CD. Обратите внимание, что он распознал лишь одну сессию из двух (первую), да и то неправильно
Еще до завершения процесса копирования нас начинают одолевать стойкие сомнения или, я бы даже сказал, непоколебимая уверенность, в том, что диск будет скопирован неправильно. И действительно, чего мы опасались, то мы и получили! Давайте создадим образ скопированного диска в плане сравнения копии TOC'а с оригиналом.
| [CloneCD] | ; | данные о копировщике |
| Version=3 | ; | версия Clone CD |
| [Disc] | ; | данные о диске |
| TocEntries=7 | ; | кол-во элементов TOC'a == 7 (в оригинале было 12) |
| Sessions=1 | ; | кол-во сессий == 1 (в оригинале было 2) |
| DataTracksScrambled=0 | ; | поле DVD |
| CDTextLength=0 | ; | CD-Text'a в полях подкода Lead-in области нету |
| [Session 1] | ; | данные сессии 1 |
| PreGapMode=1 | ; | тип трека == Mode 1 |
| PreGapSubC=0 | ; | данных подканала - нет |
| [Entry 0] | ; | данные элемента TOC'a No.0 |
| Session=1 | ; | элемент сессии 1 |
| Point=0xa0 | ; | номер первого трека сессии 1 в PMin/тип диска в PSec |
| ADR=0x01 | ; | q-Mode == 1 |
| Control=0x04 | ; | диск с данными, запрещенный ;-) для копирования |
| TrackNo=0 | ; | трек, который мы сейчас читаем - это Lead-in трек (т.е. TOC) |
| AMin=0 | ; | \ |
| ASec=0 | ; | + - абсолютный адрес текущего трека |
| AFrame=0 | ; | / |
| ALBA=-150 | ; | LBA-адрес текущего трека |
| Zero=0 | ; | это поле должно быть равно нулю, как оно и есть |
| PMin=1 | ; | номер первого трека сессии 1 |
| PSec=0 | ; | тип диска CD-DA и CD-ROM диск в Mode 1 |
| PFrame=0 | ; | не несет никакой полезной информации |
| PLBA=4350 | ; | номер трека представленный CloneCD как LBA-адрес, т.е. чушь |
| [Entry 1] | ; | данные элемента TOC'a No.1 |
| Session=1 | ; | элемент сессии 1 |
| Point=0xa1 | ; | номер последнего трека сессии 1 в PMin |
| ADR=0x01 | ; | q-Mode == 1 |
| Control=0x04 | ; | диск с данными, запрещенный ;-) для копирования |
| TrackNo=0 | ; | трек, который мы сейчас читаем - это Lead-in трек (т.е. TOC) |
| AMin=0 | ; | \ |
| ASec=0 | ; | + - абсолютный адрес текущего трека |
| AFrame=0 | ; | / |
| ALBA=-150 | ; | LBA-адрес текущего трека |
| Zero=0 | ; | это поле должно быть равно нулю, как оно и есть |
| PMin=1 | ; | номер последнего трека сессии 1 (в сессии только один трек) |
| PSec=0 | ; | не несет никакой полезной информации |
| PFrame=0 | ; | не несет никакой полезной информации |
| PLBA=4350 | ; | номер трека представленный CloneCD как LBA-адрес, т.е. чушь |
| [Entry 2] | ; | данные элемента TOC'a No.2 |
| Session=1 | ; | элемент сессии 1 |
| Point=0xa2 | ; | положение Lead-out области в PMin:PSec:PFrame |
| ADR=0x01 | ; | q-Mode == 1 |
| Control=0x04 | ; | диск с данными, запрещенный ;-) для копирования |
| TrackNo=0 | ; | трек, который мы сейчас читаем - это Lead-in трек (т.е. TOC) |
| AMin=0 | ; | \ |
| ASec=0 | ; | + - абсолютный адрес текущего трека |
| AFrame=0 | ; | / |
| ALBA=-150 | ; | LBA-адрес текущего трека |
| Zero=0 | ; | это поле должно быть равно нулю, как оно и есть |
| PMin=0 | ; | \ |
| PSec=29 | ; | + - абсолютный адрес Lead-out области сессии 1 |
| PFrame=33 | ; | / |
| PLBA=2058 | ; | LBA-адрес Lead-out области сессии 1 |
| [Entry 3] | ; | данные элемента TOC'a No.3 |
| Session=1 | ; | элемент сессии 1 |
| Point=0x01 | ; | данные трека 1 сессии 1 |
| ADR=0x01 | ; | q-Mode == 1 |
| Control=0x04 | ; | диск с данными, запрещенный ;-) для копирования |
| TrackNo=0 | ; | трек, который мы сейчас читаем - это Lead-in трек (т.е. TOC) |
| AMin=0 | ; | \ |
| ASec=0 | ; | + - абсолютный адрес текущего трека |
| AFrame=0 | ; | / |
| ALBA=-150 | ; | LBA-адрес текущего трека |
| Zero=0 | ; | это поле должно быть равно нулю, как оно и есть |
| PMin=10 | ; | \ |
| PSec=2 | ; | + - абсолютный адрес начала трека 1 сессии 1 |
| PFrame=0 | ; | / |
| PLBA=45000 | ; | LBA-адрес начала трека 1 сессии 1 |
| [Entry 4] | ; | данные элемента TOC'a No.4 |
| Session=1 | ; | элемент сессии 1 |
| Point=0xb0 | ; | позиция следующий записываемой области в AMin:ASec:AFrame |
| ADR=0x05 | ; | q-Mode == 1 |
| Control=0x04 | ; | диск с данными, запрещенный ;-) для копирования |
| TrackNo=0 | ; | трек, который мы сейчас читаем - это Lead-in трек (т.е. TOC) |
| AMin=2 | ; | \ |
| ASec=59 | ; | + - абсолютный адрес следующей записываемой области |
| AFrame=33 | ; | / |
| ALBA=13308 | ; | LBA-адрес следующей записываемой области |
| Zero=3 | ; | кол-во pointer'ов в Mode 5 |
| PMin=22 | ; | \ |
| PSec=14 | ; | + - абсолютный адрес максимальной записываемой области |
| PFrame=34 | ; | / |
| PLBA=99934 | ; | LBA-адрес максимальной записываемой области |
| [Entry 5] | ; | данные элемента TOC'a No.5 |
| Session=1 | ; | элемент сессии 1 |
| Point=0xc0 | ; | стартовый адрес Lead-in области Hybrid диска (если он есть) |
| ADR=0x05 | ; | Mode 5 (Оранжевая книга) |
| Control=0x04 | ; | диск с данными, запрещенный ;-) для копирования |
| TrackNo=0 | ; | трек, который мы сейчас читаем - это Lead-in трек (т.е. TOC) |
| AMin=162 | ; | рекомендуемая мощность лазера для |
| ASec=200 | ; | Application code (в оригинале здесь было 128) |
| AFrame=224 | ; | в оригинале здесь было 140 |
| ALBA=294074 | ; | LBA-"адрес" трех предыдущих полей |
| Zero=0 | ; | зарезервировано |
| PMin=97 | ; | \ |
| PSec=27 | ; | + - абсолютный адрес Lead-in области Hybrid диска |
| PFrame=21 | ; | / (адрес лежит за пределами диска, т.е. Hybrid-диска нет) |
| PLBA=-11604 | ; | LBA-адрес Lead-in области Hybrid'a(вычислен с переполнением) |
| [Entry 6] | ; | данные элемента TOC'a No.6 |
| Session=1 | ; | элемент сессии 1 |
| Point=0xc1 | ; | копия ATIP-информации |
| ADR=0x05 | ; | -+ |
| Control=0x04 | ; | -+ |
| TrackNo=0 | ; | -+ |
| AMin=4 | ; -+ | |
| ASec=192 | ; | -+ |
| AFrame=150 | ; | -+- ATIP (изменена!) |
| ALBA=32400 | ; | -+ |
| Zero=0 | ; | -+ |
| PMin=0 | ; | -+ |
| PSec=0 | ; | -+ |
| PFrame=0 | ; | -+ |
| PLBA=-150 | ||
| [TRACK 1] | ||
| MODE=0 | ||
| INDEX 1=45000 |
Листинг 7 образ защищенного диска, снятый программой Clone CD (несоответствующие поля выделены жирным шрифтом)
Сокращение сессий с двух до одной очень сильно смущает. Куда девалась вторая – неискаженная(!) – сессия вообще непонятно. И хотя искаженные данные первого трека сохранились, оказались неожиданно измененными поля ApplicationCode и ATIP (и это несмотря на то, что запись производилась на ту же самую CD-RW болванку, что и раньше, хотя и ее "прожиг" осуществлялся различными приводами).
Как следствие: скопированный диск оказывается работоспособен не на всех приводах (ASUS и NEC его прочитают, а вот PHILIPS – нет), к тому же защите ничего не стоит прочитать текущий TOC и сравнить его с эталонным.
Короче говоря, "факир был пьян и фокус не удался". Что ж, попробуем обратиться за помощью к Алкоголю – уж он-то должен наверняка с этим справиться. Действительно, Алкоголь видит обе сессии: как искаженную, так и неискаженную, ? однако по малопонятным причинам сохраняет в образ лишь вторую из них (Clone CD сохранял первую). Ну что это за зоопарк, а? Содержимое TOC'а скопированного диска можно даже и не сравнивать – там будет далеко не то, что защита собирается ожидать. И напрасно! Содержимое TOC'а, снятое Алкоголем, практически полностью соответствует оригиналу. Единственно, в чем ошибся Алкоголь, – определил тип pre-gap обоих треков не как Mode 1, а как Mode 2. Впрочем, в силу отсутствия в образе первой сессии, полученная с его помощью копия диска все равно оказывается неработоспособной.

Рисунок 2 Алкоголик видит обе сессии защищенного диска, но…

Рисунок 3 копирует лишь вторую из них, а первую нагло пропускает
А ведь заявлялось, что Clone CD/Alcohol 120% способны копировать любые существующие на сегодняшний момент защищенные диски, и вдруг на поверку оказывается, что даже такую простую защиту, которую может создать на кончике пенька любой программист, они преодолеть ни вместе, ни по раздельности не в состоянии! Причем аппаратура, на которой все эти эксперименты и осуществлялись, возможность корректного копирования искаженного диска гарантированно поддерживает (сам проверял), и потому отмахнуться физическими ограничениями приводов разработчикам обоих копировщиков уже не удастся!
Даже не верится, что такой простой прием "ослепляет" лучшие копировщики защищенных дисков! Неужели и вправду, создание некопируемых дисков вполне осуществимо на обыкновенном бытовом оборудовании?! Да! Именно так! Конечно, не стоит путать некопируемость диска автоматическими копировщиками с принципиальной невозможностью получения его идентичной копии. В ручном режиме копирование таких дисков вполне осуществимо (правда, при условии, что ваш пишущий привод поддерживает режим RAW DAO, а читающий – читает сектора из обеих секций) и сейчас мы продемонстрируем как.