2003 г
Секреты недетского прожига лазерных дисков
Крис Касперски
…создателям драйвера 800.com посвящается
Abstract
Помните, во времена MS-DOS существовал драйвер, позволяющий
записывать на обычную 740 Кб дискету до 800 Кб информации? А 900.com помните? О, времена, о нравы! Сегодня, когда дискеты давно
вышли из моды, а емкость массовых носителей информации перешагнула через
отметку в 650 Мб, старые идеи дают новые всходы…
Емкость CD-R/RW болванок, объявляемая
производителем, всегда много меньше физической емкости данного диска и равна
объему информации, который можно записать в режиме MODE 1. Разумеется, помимо MODE 1 существуют и другие режимы записи данных,
отличающиеся друг от друга в первую очередь емкостью и надежностью.
Если целостность данных не является
превалирующим фактором, вместимость лазерного диска можно существенно
увеличить, выиграв порядка 15% дополнительного пространства за счет отказа от
избыточных корректирующих кодов Рида-Соломона. Использование незадействованных
каналов подкода дает еще 4% емкости, а отказ от выводной области - 2%. Наконец, не стоит забывать о такой полезной
возможности, как over burn ("перепрожиг" диска).
Таким образом, на обычный 700 Мб
лазерный диск при желании можно вместить от 800 Мб до ~900 Мб данных, а на 90-минутный – от 900 Мб до
1 Гб. и ниже будет рассказано, как это сделать.
Введение
Сколько бит в
байте? Правильно, восемь. А сколько бит в семистах мегабайтах? А это смотря в
каких мегабайтах! Так, например, стандартная 700 Мб CD-R/RW
болванка вмещает в себя по меньшей мере 23 миллиона бит или порядка трех
гигабайт "сырой" информации, большая часть которых расходуется на
служебные структуры данных, обеспечивающие лазерному диску работоспособность.
Колоссальная
избыточность принятой системы кодирования объясняется физическими свойствами
светового луча, который в силу своих волновых свойств одиночные
"питы" и "ленды" просто огибает. Минимальной "горной
формацией" уверенно распознаваемой лазерным лучом является
последовательность из трех "питов" ("лендов"), соответствующая
трем логическим нулям. Переход от пита к ленду или наоборот соответствует
логической единице. Поскольку две соседние единицы всегда оказываются разделены
по меньшей мере тремя нулями, приходится прибегать к сложной системе
перекодировки, преобразующий всякий 8 битный символ исходных данных в
15 битное EFM-слово
(от английского Eight to Fifteenth Modulation – Модуляция Восемь в
Пятнадцать), причем EFM-слова
не могут следовать вплотную друг за другом (задумайтесь, что произойдет, если
за EFM-словом,
оканчивающимся на единицу, попробовать записать EFM-слово с той же самой единицы и
начинающееся) и вынуждены разделяться тремя merging-битами. Таким образом, на каждые 4 бита исходных
данных приходится 9 бит физических. Очевидно, что стандартная схема модуляции
не является идеальной и оставляет достаточный запас для ее усовершенствования
(см. "резерв-6 или дополнительные
источники емкости").
Минимальной
порцией данных, непосредственно адресуемой на программном уровне, является сектор
(или в терминологии Audio CD –
блок).
Один блок состоит из 98 фреймов,
каждый из которых в свою очередь содержит 24 байта полезных данных,
8 байт кодов Рида-Соломона, часто называемых CIRC-кодами, хотя с технической точки
зрения это и не совсем верно, 3 синхробайта и 8 бит каналов
подкода – по одному биту на каждый из восьми каналов, условно обозначаемых
латинскими буквами P, Q, R, S, T, U, V и W соответственно. Q-канал хранит служебную информацию о
разметке диска, P-канал
служит для быстрого поиска пауз, остальные каналы – свободны.
Таким образом,
эффективная емкость одного блока составляет 2352 байта или даже 2400 байт
с учетом каналов подкода (из 98 байт субканальных данных 34 байта отданы под
служебные нужды). Корректирующие коды Рида-Соломона позволяют исправлять до
4 разрушенных байт на каждый фрейм, что составляет 392 байт на целый
блок.
Диски с
данными (CD-Data), ведущие свою
родословную от Audio-дисков,
поддерживают два основных режима обработки данных: MODE 1 и MODE 2.
В режиме MODE 1 из 2352 байт сырой
емкости сектора, лишь 2048 байт отданы непосредственно под
пользовательские данные. Остальные распределены между заголовком сектора (16 байт), контрольной суммой сектора (4 байта) и дополнительными корректирующими кодами, увеличивающими стойкость
диска к физическим повреждениям (276 байт). Оставшиеся 8 байт никак
не задействованы и обычно проинициализированы нулями.
В режиме MODE 2 из 2352 байт сырой емкости сектора только
16 байт отданы под служебные структуры (заголовок), а остальные 2336 байт содержат пользовательские
данные. Легко видеть, что при записи диска в MODE 2 его эффективная емкость становится на ~15% больше, но
и надежность хранения данных при этом приблизительно на треть ниже. Однако при
использовании качественных носителей информации (LG, TDK, Verbatim) и
бережном обращении с ними, риск невосстановимого разрушения данных достаточно
невелик (см. "тестирование дисков на
надежность"). К тому же многие форматы данных безболезненно переносят даже
множественные искажения средней и высокой степени тяжести. К этой категории
относятся DivX, MP3, JPEG и другие типы файлов. C некоторой долей риска можно
записывать архивы и исполняемые файлы, потерей которой вы не сильно огорчитесь
или которые возможно восстановить из основного хранилища (например при переносе
файлов между компьютерами, дублировании дисков, взятых напрокат и т. д.).
Чистый MODE 2 в живой природе
встречается крайне редко, однако с его производными нам приходится сталкиваться
буквально на каждом шагу. Это и CD-ROM XA MODE 2
(применяющийся в многосессионных дисках), и Video CD/Super Video CD, и CD-I, и… многое-многое другое.
Формат CD-ROM XA, возникший на фундаменте MODE 2, выгодно
отличается от своего предшественника возможностью динамической смены типа трека
на всем его протяжении. Часть трека может быть записана в режиме FORM 1, практически
идентичном режиму MODE 1,
но задействовавшем восемь ранее пустующих байт под нужды специального
заголовка, а часть – в FORM 2, –
усовершенствованном MODE 2:
2324 байта пользовательских данных, 16 байт основного и 8 байт
вспомогательного заголовков плюс 4 байта контрольной суммы для контроля
целостности (но не восстановления!) содержимого сектора.
Режим FORM 1 предполагалось
использовать для критических к разрушению данных (исполняемых файлов, архивов и
т. д.), а FORM 2 – для
аудио/видеоданных. Увы, этим замыслам было не суждено сбыться, и широкого
распространения режим FORM 2
так и не получил. Единственным более или менее популярным форматом, опирающимся
на режим XA MODE 2 FORM 2, стал Video CD/Super Video CD,
позволяющий записать на обычном 700 Мб диске до 800 Мб информации и
900 Мб на 90-минутном (плюс over-burn),
что приблизительно на четыре мегабайта меньше чистого MODE 2, но такими потерями можно и
пренебречь. Зато в отличие от чистого MODE 2 формат Video CD/Super Video CD поддерживается
операционным системам семейства Windows
и Linux!
Рисунок 1 "Табель о
рангах" – схема распределения объема лазерного диска по различным
структурам. Как видно, на пользовательские данные отводится немногим более
половины общего дискового пространства.
Рисунок 2 Поверхность
лазерного диска под электронным микроскопом. Видны чередующиеся цепочки
углублений – "питов" (от английского pit – ямка, впадина) и
возвышенностей – "лендов" (от английского land – равнина, земля). Ленды
отражают большую часть падающего на них света лазерного излучателя, а питы в
силу своей удаленности от точки фокуса не отражают практически ничего (рисунок
взят с сайта фирмы EPOS).
Рисунок 3 "Питы" и "ленды" образуют цепочки с
длиной от трех до десяти "питов" ("лендов") каждая. Переход
от "пита" к "ленду" (или наоборот) соответствует логической
единице, а логический нуль представляется отсутствуем переходов в данном месте.
Поскольку диаметр сфокусированного лазерного пятна равен трем
"питам", более короткие цепочки уже не распознаются лазером, а
ограничение длины цепочек сверху обусловлено степенью точности тактового
генератора и равномерностью вращения диска. В самом деле, если точность
такового генератора составляет порядка 10%, то при измерении 10-питовой цепочки
мы получаем погрешность в ±1 пит (рисунок взят с сайта фирмы EPOS). Некоторые производители уменьшают
длину одного "пита" на 30%, что во столько же раз увеличивает
эффективную емкость диска. Возникает вопрос: как же в таком случае привод
ухитряется определить длину той или иной цепочки? Ведь в отсутствие каких бы то
ни было опорных значений, провод вынужден сравнивать длину "питов" со
стандартным эталоном, а это значит, что цепочка из N уплотненных "питов" будет
интерпретирована как N/2!
Дизассемблировав прошивку своего PHILIPS'a,
автор выяснил, что привод имеет автоматический регулятор скорости, подбирающий
такое значение T,
которое соответствовало бы наименьшему количеству ошибок чтения.
Рисунок 4 На CD-R дисках никаких "питов" в прямом смысле этого слова нет, но их заменяет специальный слой прожигаемого
красителя, деформирующего отражающий слой и препятствующий отражению лазерного
луча в данном месте. Однако с точки зрения CD-ROM привода, штампованные и CD-R диски выглядят практически
одинаково, за тем исключением, что штампованные диски более контрастны (рисунок взят с сайта фирмы EPOS).
Проблемы
Сам по себе MODE 2 никаких
сложностей не вызывает. Это стандартный режим, штатно поддерживаемый всеми
приводами, носителями и драйверами. Проблема в том, что праматерь ISO9660 и все ее потомство
налагает на размер сектора жесткие ограничения, требуя чтобы он представлял
собой степень двойки (т. е. равнялся 512, 1024, 2048, 4096… байтам).
Размер пользовательской области данных сектора, записанного в MODE 1, удовлетворяет этому
требованию (211 = 2048), а MODE 2 – нет, и в конце сектора остается
"хвост" из 288 неиспользуемых байт (211 + 288= 2336).
Программы
профессионального "прожига" позволяют записывать диск как в XA MODE 2 FORM 1, так и в XA MODE 2 FORM 2, однако это
ни на йоту не увеличивает его объема, поскольку хвостовая часть секторов,
записанных в FORM 2,
вынуждена пустовать, снижая надежность хранения данных и ничего не давая
взамен.
Теоретически
возможно создать драйвер, транслирующий n MODE 2 секторов
в k*n MODE 1 секторов (и такой
драйвер действительно был создан настоящим автором), однако целесообразность
его использования весьма сомнительна, поскольку далеко не каждый пользователь
согласится устанавливать в свою систему "кустарный" драйвер –
ошибки драйверов зачастую обходятся очень дорого (вплоть до потери всех
данных на жестком диске), а программисты, как и все люди в этом мире, склонны
ошибаться. Так или иначе, от идеи использования драйвера автор отказался,
поскольку его тестирование выглядело слишком масштабным проектом.
Немногим лучше
обстоят дела и с Video CD/Super Video CD. На
первый взгляд кажется: ну какие тут могут быть проблемы? Берем Ahead Nero Burning ROM,
в меню диалогового окна "New Compilation"
выбираем Video CDи…
диск действительно записывается, но только в MPEG1. Формат Super Video CD
в свою очередь соответствует MPEG2.
Никакого обмана здесь нет, – вы получаете 800/900 Мб настоящего MPEG1/MPEG2, что на 100 Мб превосходит
емкость стандартного CD-R.
В то же время
использование DivX (MPEG4) дает значительно
больший выигрыш в емкости, сжимая два Video CD
в один CD-ROM. Но что нам мешает
записать в формате Video CD
тот же самый MPEG4 или MP3? Увы, не все так просто!
Большинство программ записи (и Ahead Nero Burning ROM в
том числе) осуществляют тщательную проверку всего записываемого на диск и,
столкнувшись с MPEG-4,
либо насильно перекодируют его в MPEG1/MPEG2,
либо вообще отказываются от записи. Мотивация этого такова – Video CD должен
соответствовать Стандарту, иначе это не Video CD. Действительно, автономные Video-плееры поддерживают диски строго
определенных типов и на декодирование MPEG4 у них не хватит ни ума, ни аппаратной мощности.
Персональный компьютер – другое дело. При наличии соответствующих кодеков,
он воспроизведет любой мультимедийный формат, независимо от того: каким
способом тот будет записан.
Но даже если
волшебным образом "отучить" Ahead Nero Burning ROM задавать лишние вопросы и
заставить его записывать MPEG4/MPEG4 как Video CD, это ни к чему не приведет, поскольку
операционные системы семейства Windows
"поддерживают" Video CD
диски весьма извращенным образом. "Сырой" видеопоток в формате
"настоящего" MPEG1/MPEG2 их, видите ли, не
устраивает и они насильно добавляют к нему свой RIFF-заголовок (Resource Interchange File Format – Формат Файла для Обмена
Ресурсами), явным образом специфицирующий формат файла. Очевидно, что после
таких вмешательств никакой нормальный формат воспроизводиться не будет и
попытка проиграть MPEG4
как MPEG1/MPEG2 навряд ли увенчается
успехом.
Тупик? Вовсе
нет! Из всякой ситуации существует выход и не один…
Рисунок 5 Запись
Video CD/Super Video CD средствами Ahead Nero Burning ROM. Емкость
одного такого диска составляет порядка 800 Мб (900 Мб на 90-минутных CD-R), однако исходные данные должны быть
представлены в формате MPEG1/MPEG2.
Решение
Решение MODE2-проблемы сводится к
записи диска не в режиме ISO 9660. Самое простое – оформить каждый файл
в виде самостоятельного трека, отказавшись от использования файловой системы
вообще. Конечно, штатными средствами операционной системы такой диск читаться
не будет, однако содержимое такого трека без труда может быть
"сграблено" на жесткий диск и нормальным образом прочитано оттуда.
Единственный минус такого решения заключается в невозможности проиграть
записанный файл непосредственно на самом диске, что создает определенные
проблемы и нервирует Windows-пользователей,
привыкших открывать всякий файл простым щелчком мыши и не согласных выполнять
никакие дополнительные действия. Правда, UNIX-сообщество, умело владеющее клавиатурой, командными файлами
и скриптами, решает эту задачу без проблем. Действительно, грабеж трека легко
автоматизировать (и позже мы покажем как), причем перед началом проигрывания
файла вовсе не обязательно дожидаться извлечения всего трека целиком – эти
операции могут выполняться и параллельно (ведь Windows и UNIX – многозадачные системы!).
Как вариант?
можно записать диск в формате Video CD. Для этого нам потребуется программа не слишком педантично
относящаяся к требованиям Стандарта и послушно записывающая все, что ей дают.
Естественно, если формат записываемых файлов отличен от MPEG1/MPEG2, при попытке их воспроизведения возникнут серьезные
проблемы, поскольку операционная система Windows принудительно "наклеивает" на них MPEG1-заголовок, вводящий
штатный медиаплейрер в глубокое заблуждение, зачастую граничащее с зависанием.
Существует по меньшей мере два выхода из этой ситуации: самое простое (и самое
универсальное) оснастить систему специальным DirectShow – фильтром, поддерживающим RIFF/CDXA-разбиение (так же называемое "парсингом" от
английского parsing).
Примером такого фильтра является XCD DirectShow filter/NSIS installer от Alex'а Noe и
DeXT'а, который может быть найден тут:
http://peque.homeftp.org/~dext/xcd/riff-cdxa-filter-test6b-nsis.zip. Другой путь: использовать программное
обеспечение, спокойно переносящее "лишний" заголовок и игнорирующее
его (например FreecomBeatmanCD/MP3 Player, см. http://www.vnunet.com/Print/1129594).
Сеанс практической магии в MODE 2
Среди
программ, поддерживающих запись диска в режиме MODE 2, в первую очередь следует
выделить утилиту CDRWin, пользующуюся неизменной
любовью профессионалов. Это чрезвычайно мощный инструмент, возможности которого
ограничены разве что фантазией самого прожигателя. Самую свежую версию
программы можно скачать, в частности, отсюда: ftp://ftp.cdarchive.com/pub/goldenhawk/download/cdr39e-e.exe.
Также нам пригодится консольная редакция программы, управляемая из командной
строки, которая лежит здесь:
ftp://ftp.cdarchive.com/pub/goldenhawk/download/dao32v39.zip.
Процесс
прожига диска мы начнем с подготовки исходного файла. Первым и единственным
предъявляемым к нему требованием будет выравнивание его длины до целого
количества секторов. Пусть длина файла равна 777.990.272 байтам, тогда,
чтобы уложиться в целое число 2336-байтовых секторов, мы должны либо отрезать
1824 байта от конца файла, либо дописать к нему 512 нулей.
Аудио/видео-файлы безболезненно переносят как усечение своего тела, так и мусор
в хвосте. Обе этих операции можно осуществить в любом HEX-редакторе, например HIEW'e (http://www.softnews.ro/public/cat/5/4/5-4-2.shtml).
Усечение файлов выполняется очень просто. Открываем файл, запускам стандартный Windows-калькулятор и,
перейдя в "Инженерный" режим, переводим десятичную длину файла в ее
шестнадцатеричное значение: 777990272 – 1824 <ENTER> 777988448 <F5> 2E5F2960 (обычным шрифтом набраны
символы, набираемые на клавиатуре, а жирным – ответ калькулятора).
Возвращаемся в HIEW,
нажимаем <F5>,
вводим полученное число (в данном случае: 2E5F2960)
и, подтвердив серьезность своих намерений клавишей <ENTER>, последовательно нажимаем <F3>, <F10> и, наконец, "Y" (от английского
"YES" – да, мы хотим
выполнить обрезание). Соответственно, заполнение хвоста файла нулями
осуществляется так: одновременным нажатием на <Ctrl> + <End> мы перемещаемся в конец
файла, а клавишей <F3>
переходим в режим редактирования. Теперь – давим на <0> до тех пор,
пока рука не устанет. Штука! Усекать файл намного практические, чем расширять.
Тот килобайт, который мы от него отрежем, не составит и секунды звучания, а
потому мы совершенно ничего не теряем!
Переходим ко
второму этапу –
созданию cue sheet-файла,
содержащего в себе всю информацию о структуре прожигаемого образа. Типичный cue sheet-файл должен
выглядеть приблизительно так:
FILE "my_file.dat" BINARY
TRACK 1 MODE2/2336
INDEX 1 00:00:00
Листинг 1 пример реализации типичного cut-sheet файла
Здесь: "my_file.dat" –
имя записываемого на диск файла, "TRACK 1" – номер трека, "MODE2/2336" – режим записи, а "INDEX 1" – номер индекса внутри
файла. Подробнее о синтаксисе cue sheet-файлов
вы можете прочитать в прилагаемой к CDRWin документации.
Вставляем CD-R/CD-RW
диск в привод, запускам CDRWin,
нажимаем "Load Cuesheet"
и указываем путь к только что сформированному cue-файлу. Дождавшись завершения его
компиляции нажимаем "Record Disk",
предварительно убедившись, что галочка RAW MODE не взведена. Вот,
собственно, и все. Несмотря на то, что размер исходного файла намного превышает
заявленную емкость диска, процесс прожига протекает без каких-либо проблем.
Рисунок 6 Запись 800/900 Мб диска в режиме MODE 2 средствами CDRWin. Исходные данные могут
быть представлены в любом формате, однако штатными средствами операционной
системы такой диск не поддерживается.
Однако попытка
просмотра оглавления только что записанного диска штатными средствами
операционной системы ни к чему хорошему не приводит: нас пытаются убедить в
том, что данный диск пуст. Но ведь это не так! Запускаем CDRWin, выбираем "Extract Disc/Tracks/Sectors" и в окне "Track Selection"
видим наш трек TRACK 1
собственной персоной. Хотите его проиграть? Легким движением мыши перемещаем
"Extractmode…"
в "SelectTrack",
а в "ReadingOptions"
сбрасываем галочку "RAW"
(если этого не сделать, содержимое трека будет читаться в сыром режиме,
перемежевывая полезные данные вместе с заголовками, что никак не входит в наши
планы). Выбираем трек, который мы будем извлекать и, выбрав номинальную
скорость чтения, нажимаем на "START" (чтение MODE 2-трека на максимальной скорости зачастую приводит к
многочисленным ошибкам).
Рисунок 7 Чтение диска, записанного в MODE 2 средствами CDRWin путем предварительного
копирования одного или нескольких треков на винчестер.
Вернув файлу
его законное расширение (которое рекомендуется записывать на коробке диска
фломастером, т. к. в процессе записи оно необратимо теряется), запускаем
"Универсальный Проигрыватель" (или любой другой аудио/видео плеер по
вашему вкусу) и расслабляемся в свое удовольствие.
При желании
процесс грабежа файла можно автоматизировать, воспользовавшись утилитой SNAPSHOT.EXE из пакета консольной версии
программы CDRWin.
Используя утилиту MAKEISO.EXE, поставляемую вместе с CDRWin, создайте один
легальный трек, записанный в формате MODE 1/ISO9660
и содержащий командный файл для автоматического извлечения выбранного
пользователем MODE 2-трека.
Подробности этого процесса вы найдете в документации на CDRWin. Минимальные навыки
программирования вам также не помешают.
Сеанс практической магии в Video CD
Для записи DivX/MP3 файлов в формате Video CD нам понадобиться утилита MODE 2 CD MAKER,
бесплатную копию которой можно найти здесь:
http://peque.homeftp.org/~dext/xcd/mode2cdmaker-1.5.1.zip. Если командная
строка вызывает у вас уныние (а MODE 2 CD MAKER –
это утилита командной строки), воспользуйтесь специальной графической
оболочкой, загружаемой отсюда
http://peque.homeftp.org/~dext/xcd/m2cdmgui16.zip.
Интерфейс
программы прост и вполне традиционен: вы перетаскивайте мышкой записываемые файлы
в большое белое окно (или нажимаете на "Add Files"),
внизу которого отображается индикатор-змейка, показывающий использованный
объем. По умолчанию программа закладывается на MODE 2 FORM 1 (2048 байт на
сектор) и для перехода на MODE 2 FORM 2 (2324 байта на сектор)
необходимо кликнуть по кнопке "Set/Unset Form 2".
Другое вредное
умолчание – размещать каждый файл в "своем" треке –
отключается установкой галочки напротив пункта "Single Track". Дело в том, что
на создание одного трека расходуется порядка 700 Кб дискового пространства
и раздельная запись большого количества файлов становиться попросту невыгодна
(правда, диск, записанный в Single track-mode, не поддерживается операционной
системой Linux).
Наконец, когда
все приготовления завершены, вы нажимаете "Write ISO" и через некоторое
время спустя на диске образуется CUE-образ, для прожига которого можно воспользоваться все тем же CDRWin или Alcohol/Clone CD, – но это уже на
любителя.
Рисунок 8 Запись 800/900 Мб Video CD диска средствами MODE 2 CD MAKER'a. При наличии установленных RIFF/CDXA-фильтров, такой диск вполне
корректно поддерживается операционной системой.
Не забудьте
только установить специальный DirectShow фильтр,
без которого вы не сможете работать с Video CD диском и в штатном режиме!
Резерв-6 или дополнительные источники емкости
Хотите верьте,
хотите нет, но 800/900 Мб
на диск – это далеко не предел! Помимо основного канала данных, в котором,
собственно, сырые сектора и хранятся, существуют и каналы подкода, в количестве
восьми штук. Один из них используется устройством позиционирования оптической
головки, а остальные семь – свободны. В общей сложности мы теряем порядка
64 байт на сектор или ~20 Мб на стандартный 700 Мб диск.
К сожалению,
непосредственное хранение пользовательских данных в каналах подкода невозможно,
поскольку операционные системы семейства Windows отказываются поддерживать такую возможность. Подходящих
утилит от сторонних разработчиков также не наблюдается. Однако в каналы подкода
нетрудно спрятать конфиденциальную информацию, предназначенную не для чужих
глаз.
Используя Clone CD (http://www.elby.ch/)
или любой другой копировщик дисков аналогичного назначения, снимите образ
прожигаемого диска, предварительно разместив его на CD-RW. По окончании операции на жестком диске образуются три файла: IMAGE.CCD, хранящий содержимое TOC'a; IMAGE.IMG,
хранящий содержимое основного канала данных, и IMAGE.SUB с субканальными данными внутри. Откройте последний файл
каким-нибудь HEX-редактором
(например, HIEW'ом).
Первые
12 байт принадлежат каналу P,
предназначенному для быстрого поиска пауз, его мы трогать не будем (хотя
подавляющее большинство современных приводов P-канал попросту игнорируют). Следующие 12 байт заняты
служебной информацией Q-канала,
содержащего данные разметки. Модифицировать его ни в коем случае нельзя, в
противном случае один или несколько секторов перестанут читаться. Байты с 24 по
96 принадлежат незадействованным каналам подкода и могут быть использованы по
нашему усмотрению. За ними вновь идут 12 байт P/Q каналов и 72 байта пустых субканальных данных и
т. д. – чередуясь в указанном порядке вплоть до конца файла.
Нажав <F3>, подведем курсор к
любому свободному месту и запишем секретную информацию, при необходимости
предварительно зашифровав ее. Клавиша <F9> сохраняет все изменения в файле. Остается только запустить
Clone CD и прожечь модифицированный
образ на диск. При просмотре содержимого диска штатными средствами секретная
информация категорически не видна и для ее просмотра следует воспользоваться
уже знакомым нам Clone CD, запущенным в режиме чтения образа ("Файл" -> "Чтение CD в файл образ"; HIEW -> IMAGE.SUB).
Смотрите! Вот
то сообщение, которое нам удалось внедрить в субканальные данные
(см. рис. 9) Внимание! Не все приводы поддерживают чтение/запись "сырых"
субканальных данных. Убедитесь, что в "Параметрах профиля" Clone CD стоит "чтение субканалов из треков с
данными" и галочка "не восстанавливать субканальные данные"
сброшена. В противном случае, у вас ничего не получится.
Рисунок 9 Использование пустующих каналов
подкода для сокрытия от посторонних глаз конфиденциальной информации.
Наконец,
дополнительные 13,5 Мб можно получить за счет выводной области диска,
закрывать которую в общем-то и необязательно. Диски с отсутствующей выводной
областью вполне успешно читаются подавляющим большинством современных приводов,
поэтому риск встречи с "неправильным" приводом минимален. Просто
сбросьте галочку "всегда закрывать последнею сессию" в используемой вами
программе прожига!
Но и это еще
не все! Недостатки стандартной EFM-кодировки
очевидны (и об этом уже говорилось выше), однако навязать приводу более
совершенные способы модуляции – невозможно. Пока – невозможно, но в
обозримом будущем ситуация может радикально измениться. Уже появились
рекордеры, позволяющие "вручную" формировать объединяющие биты (что
значительно упрощает копирование защищенных дисков), однако все еще отсутствуют
приводы, позволяющие читать объединяющие биты с интерфейсного уровня иерархии
управления. Тем не менее, практически любой существующий CD-ROM/CD-RW привод поддается
соответствующей доработке – достаточно лишь слегка модернизировать его
микропрограммную прошивку. Экспериментируя со своим скоропостижно умершим PHILIPS'ом – модель CD-RW 2400 ("полетел"
автоматический регулятор скоростей, в результате чего привод всегда работает на
скорости 42х, безошибочно читая только высококачественные диски), автор
увеличил физическую плотность хранения информации на 12% и это – практически
без снижения надежности! Благодаря чему эффективная емкость 700 Мб диска
возросла до одного гигабайта! А это, согласитесь, уже кое-что!
Главным (и
единственным) минусом такого способа записи является его несовместимость со
стандартным оборудованием и - как следствие – полная
непереносимость. Тем не менее предложенная технология выглядит вполне
перспективной и многообещающей.
Для чего все это нужно
Копеечная
стоимость "болванок" практически полностью обесценивает достоинства
режима MODE 2.
Исходя из средней цены диска в 15 рублей, сотня дополнительных мегабайт
экономит нам немногим более рубля пятидесяти, многократно снижая надежность
хранения данных, которая на дешевых болванках и без того невелика. Даже при
записи 100 Гб данных, мы выигрываем порядка 20 дисков или немногим
менее 300 рублей. Стоит ли овчинка выделки?
Все зависит от
того, что записывать. В частности, при перекодировке DVD на CD-R неизбежно снижается качество изображения, а записывать фильм на
два CD-R диска – слишком
накладно. Сотня дополнительных мегабайт в такой ситуации оказывается как нельзя
кстати. С другой стороны, при выборе коэффициента сжатия никогда невозможно
заранее рассчитать точную длину перекодированного файла и как бывает обидно,
когда таким трудом сформированный файл превышает объем CD-R диска на какие-то жалкие 30-50 мегабайт! Приходится,
скрипя сердцем, удалять файл с диска и повторять всю процедуру сжатия вновь, а
это – от трех до двенадцати часов в зависимости от скорости вашего
процессора! Стоит ли говорить, что запись такого файла в режиме MODE 2 позволяет
сэкономить не столько деньги, сколько время!
Заключение
Лазерный
диск – отнюдь не такая простая штука, какой кажется на первый взгляд и
тонкая структура спиральной дорожки хранит в себе немало тайн и загадок, лишь
малую часть из которых удалось рассмотреть в настоящей статье.
Не бойтесь
пересечь границу устоявшихся догм и мнений! Экспериментируйте! Комбинируйте
всевозможные режимы записи и наслаждайтесь нетривиальностью полученных
результатов. Перефразируя известную поговорку, можно сказать: лазерный диск
также неисчерпаем, как атом! Быть может, кто-то из читателей впоследствии решит
связать с оптическими носителями не только свою профессиональную карьеру, но
жизнь…
Приложение. Тестирование дисков на надежность
Использование
режима MODE 2
предъявляет достаточно жесткие требования как к качеству самих носителей, так и
к технологическому совершенству пишущего и читающего приводов. В противном
случае, риск необратимой потери данных становится слишком велик, а сам режим MODE 2 – нецелесообразен.
Тестировать
только что записанные болванки – бессмысленно. Во-первых, нам необходимо
знать характер нарастания количества
разрушений с течением времени, а, во-вторых, – набрать
определенную статистику надежности по нескольким партиям одних и тех же
носителей.
Для получения
достоверных результатов совершенно необязательно исследовать диски записанные в
MODE 2. Ведь с
физической точки зрения режимы MODE 1
и MODE 2
совершенно идентичны друг другу, и все, что нам необходимо знать: достаточно ли
восстанавливающей способности CIRC-кодов
или нет.
Используя
утилиту Ahead Nero CD Speed
или любую другую аналогичную ей, протестируйте свою коллекцию CD-R/CD-RW дисков на предмет
выявления разрушений. Квадратики, закрашенные зеленым цветом, означают хорошие
(good) сектора, ошибки
чтения которых восстанавливаются еще на уровне CIRC-декодера. Квадратики, закрашенные
желтым, символизируют частично разрушенные (damaged) сектора, восстановимые на уровне MODE 1. На CIRC-уровне такие ошибки уже
неустранимы, и диск, содержащий большое количество damaged-секторов, для записи в режиме MODE 2 категорически
непригоден. Красные квадратики указывают на полностью разрушенные (unreadable) сектора,
невосстанавливаемые ни на каком уровне. Присутствие даже одного-единственного unreadable сектора
сигнализирует о ненормальности ситуации и требует перехода на более
качественные болванки или же указывает на неисправность читающего/пишущего
приводов (наличие разрушений в конце диска вполне допустимо, поскольку здесь
располагается 150 секторов области пост-зазора не содержащей никаких
данных).
Болванка
от Verbatim (слева),
прожженная на TEAC 552E, демонстрирует высочайшее
качество записи, идеально подходящее для режима MODE 2. Болванка от безымянного
производителя (справа), прожженная на том же самом приводе, обнаруживает
большое количество разрушенных секторов и для записи в MODE 2 не пригодна.