|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Листинг 10.6. Измерение угла между секторами (копия)051dfe 29ms 051dfa 7.3ms 051df5 6.6ms 051dee 6.2ms 051de6 5.5ms 051ddd 5.1ms 051dd2 4.7ms 051dc6 12ms 051db9 11ms 051daa 11ms 051d9a 10ms 051d89 10ms 051d76 9.9ms 051d62 9.2ms 051d4c 8.8ms 051d35 8.0ms Ha первый взгляд может показаться, что все осталось по-прежнему. Однако, присмотревшись внимательнее, можно заметить, что перескок происходит не между секторами 051ddd и 051dd2, как раньше, а между секторами 051dd2 и 051dc6, т.е. на один шаг позже. Вот это-то и отличает скопированный диск от его оригинала! Как это ломают Скопировать физическую структуру спиральной дорожки нельзя. Во всяком случае, пока. Но кое-какие шаги в этом направлении уже сделаны. На рынке появились приводы с переменной плотностью записи, например, Plextor Premium; правда, поддержки со стороны программного обеспечения для копирования дисков пока еще нет. Мне удалось создать экспериментальный копировщик, имитирующий структуру оригинальной дорожки путем переупорядочивания секторных номеров, однако до законченного продукта он так и не был доведен. Имеются и другие идеи, однако в долговременной перспективе все они нежизнеспособны и разработчики Star-Force их легко обойдут. Перед проверкой ключевых характеристик спиральной дорожки защита выполняет профилировку привода, чтобы оценить стабильность всех временных характеристик. Чем качественнее привод, тем жестче проверка и, соответственно, наоборот. На разболтанных приводах защита вынуждена "снижать планку", иначе даже лицензионный диск опознается как поддельный, а вот этого уже допускать нельзя. Отсюда вывод — копируем диск на скверную болванку и запускаем ее на разболтанном приводе. Кстати, на некоторых приводах можно даже специально расстроить автоматический регулятор скоростей, за это отвечает специальный подстроечный резистор. Существует некоторый шанс, что скопированный диск опознается как оригинальный. Если же ничего не получится, необходимо повторить фокус на другой партии болванок от другого производителя. Достаточно многие пользователи сообщают, что им удавалось скопировать защищенные диски на CD-RW. За счет невысокой отражательной способности перезаписываемые носители читаются гораздо хуже и, естественно, не так стабильно. Также полезно использовать приводы, которые не позволяют себя "тормозить" с помощью утилит наподобие CDSlow. Если при профилировке диска разброс замеров превышает некоторую величину, Star-Force пытается перевести привод на более низкую скорость. По моему опыту, для гарантированного копирования диска на CD-R нужно затратить не менее 10 болванок от различных производителей с различной геометрией спиральной дорожки, для измерения которой можно использовать мою утилиту, которую можно найти на прилагаемом к этой книге CD. Конечно, 10 болванок — это много, но лицензионная копия обойдется ничуть не дешевле, а даже дороже. Как правило, квалифицированный хакер может "отвязать" игру от CD самое большее за день (при условии, что он уже знаком со Star-Force), однако универсальный взломщик еще никто не написал, поэтому с каждой программой приходится воевать индивидуально. Действовать можно так. Запускаем программу Alcohol 120% (рис. 10.6) и создаем образ диска, в типе данных выбрав опции Star-Force 1.x/2.x/3.x или Securom *NEW (V4.x). При этом автоматически устанавливается флажок Измерение позиционирования данных (Точность: высокая). Опция Чтение субканальных данных с текущего диска должна быть сброшена, положение всех остальных — некритично (на некачественных дисках опция Быстрый пропуск ошибочных блоков иногда приводит к проблемам). Скорость измерения позиционирования обычно рекомендуется ставить на минимум, и в течение всей операции не выполнять на компьютере никаких других работ. Возможно, на этом этапе вам придется поэкспериментировать. Например, мой привод TEAC-52x нормально измеряет геометрию спиральной дорожки (также называемую топологией) при 52x, а вот при снижении скорости начинает вести себя непредсказуемо. Рис. 10.6. Настойка программы Alcohol 120% Снятый образ не может быть непосредственно записан на новый диск. Он предназначен специально для эмулятора. Одни предпочитают использовать эмулятор, встроенный в программу Alcohol 120%, другие же выбирают Daemon Tools. Для использования встроенного эмулятора в Alcohol 120% достаточно выбрать из меню команды Настойки|Виртуальный диск, указать любое разумное количество виртуальных дисков, отличное от нуля, и, при желании, установить опцию Перемонтировать образы при перезагрузке системы, чтобы они монтировались автоматически. Древние версии Star-Force доверчиво работали с виртуальным образом, принимая его за подлинный, но затем все изменилось. Если в системе есть хотя бы один IDE-привод, защита требует вставить лицензионный диск именно в IDE. Да! Даже если остальные диски — вполне законные накопители SCSI. Разумеется, можно просто отключить шлейф IDE от привода CD-ROM (или обесточить его), после чего виртуальный образ будет работать, как ни в чем не бывало. Естественно, все эти манипуляции должны проводиться при выключенном компьютере. Исключение составляют приводы, поддерживающие "горячую замену" (hot unplug). Как вариант, можно приобрести SCSI. USB или LPT CD-ROM. Наконец, можно воспользоваться программами типа Star-Force Nightmare, выключающими каналы IDE-каналы "на лету", однако новые версии Star-Force уже научились бороться с ними. Что делать, если снятый образ не работает? Первым делом необходимо удостовериться, что образ снят правильно. Запускаем программу AdvancedMDSEditor.exe, открываем файл образа и смотрим — если форма кривой, характеризующей скорость чтения спиральной дорожки, имеет "выбросы" или дрожит (рис. 10.7), то снятый образ никуда не годится. В этом случае необходимо выбрать другую скорость и повторить операцию еще раз, или просто "сгладить" кривую, нажав кнопку Linear Interpolation или, что еще лучше, — Spline Graph, добившись максимальной "гладкости" кривой (рис. 10.8). Рис. 10.7. Исходный график имеет выбросы, поэтому скопированный диск не опознается Рис. 10.8. Сглаженный график после обработки —скопированный диск запускается нормально Но и это еще не все! Новые версии Star-Force блокируют работу файловой системы на время проверки ключевого диска и следят, чтобы с жесткого диска не читались защищаемые данные. Что тут можно предпринять? Поскольку блокировка файловой системы осуществляется посредством SFC (возможно, не во всех версиях Star-Force), то, отключив SFC, мы вырвемся на свободу. Запускаем редактор реестра, находим ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon и меняем значение параметра SfcDisable на dword:ffffff9d, а затем перезагружаемся. Чтобы включить SFC, достаточно восстановить исходное значение параметра (0). Однако отключать SFC на продолжительное время нежелательно. Функция это полезная, позволяющая защитить компьютер от вирусов и червей. К тому же, этот прием работает не со всеми версиями Star-Force. Обладатели приводов DVD на шине SCSI могут запускать образ оттуда. Защита не распознает подмены, и эмулятор работает на ура. На CD-R/RW записать полный образ нельзя, поскольку информация о структуре спиральной дорожки, содержащаяся в файле mds, отнимает примерно 27 Мбайт свободного места и на обычный диск влезает только с пережигом, да и то не всегда. Хакеры ответили на это безобразие методом "обрезков". Все очень просто. Проверяя структуру спиральной дорожки, защита не проверяет (точнее, не проверяла) ее содержимое. Запустим Alcohol 120% и дождемся, когда "измерение DPM" подойдет к концу. Когда начнется сброс дампа, дадим программе поработать несколько секунд (чтобы успел считаться корневой каталог и некоторые другие служебные структуры, без которых Windows не сможет опознать диск), а затем нажмем кнопку Отмена. Alcohol 120% запросит подтверждения на удаление файлов. На этот запрос следует ответить отрицательно. Затем запускаем Nero Burning ROM и записываем оставшиеся от Alcohol 120% файлы с расширениями mdf и mds на CD как обычные файлы. Вставляем записанный диск в SCSI или USB CD-ROM, подключаем эмулятор и наслаждаемся игрой, причем игру в этом случае придется запускать с винчестера. К сожалению, в новых версиях этот трюк уже не работает. Теперь защита помимо структуры спиральной дорожки проверяет и ее содержимое. Так что ждем новых версией эмуляторов. Разработчики Daemon Tools обещают вот-вот выпустить четвертую версию, главной "вкусностью" которой станет обход Star-Force без всех этих шаманских танцев с образами и приводами. Пока же приходится использовать хакнутые драйвера для Star-Force, из которых вырезана блокировка файловой системы, благодаря чему полноценный образ (не обрезок!) можно запускать с винчестера. Где их взять? Хороший вопрос. Они постоянно меняют свои адреса, и дать постоянную ссылку довольно затруднительно. Поисковики также не помогают, поскольку к тому моменту, когда они проиндексируют хакерскую страничку, она уже успевает умереть. А вот форумы — это самое то! Если нет хакнутых драйверов, можно запустить снятый образ по сети. Эмулятор его увидит, а вот защита — нет. Разумеется, локальная сеть есть далеко не у всех, а приобретать второй компьютер решится далеко не каждый. Впрочем, дела обстоят не так уж и мрачно. В ходу до сих пор остается множество старых версий защиты, и Alcohol 120% с ними успешно справляется. Кстати говоря, при установке обновлений на игру вместе с самой игрой зачастую обновляется и защита, поэтому прибегать к обновлениям следует лишь тогда, когда они действительно необходимы. К тому же, с эмуляторами борется только Star-Force Professional. Многие фирмы предпочитают Star- Force Basic Edition, так как она надежнее и дешевле. На сайте разработчиков приводится сводная таблица, сравнивающая защиты друг с другом (http://www.star-force.ru/protection/protection.phtml?c=113), которую полезно изучить перед тем, как кричать на весь мир "я Star-Force сломал!" Basic Edition, действительно, ломается элементарно, а вот над Professional приходится проделывать все вышеописанные "танцы с бубнами". После экспериментов со Star-Force хотелось бы начисто удалить ее из системы, чтобы исключить всевозможные неполадки и конфликты. Теоретически это должен сделать разработчик деинсталлятора игрушки, практически же "зачисткой" операционной территории приходится заниматься самостоятельно. Предвидя праведный гнев пользователей, разработчики Star-Force выпустили специальную утилиту, которая все делает сама, и отдали ее на всеобщее растерзание. Качайте! http://www.star-force.ru/support/sfdrvrem.zip. Существует (по крайней мере, теоретически) весьма элегантный метод взлома, основанный на генерации ключей. Действительно, Star-Force "оцифровывает" особенности структуры спиральной дорожки, генерирует знако-цифровую последовательность и сравнивает результат с введенным ключом. Естественно, это упрощенная схема, и вместо простого сравнения используется шифрование. Но суть остается прежней — если восстановить алгоритм генерации ключей, то для скопированного диска можно будет вычислить свой ключ, который будет воспринят как правильный. Программы, защищенные по KeyLess-технологии, не запрашивают ключа, и он хранится на диске в Data Preparer Identifier в Primary Volume Descriptor, где легко может быть изменен. Ковырнув Star-Force, я установил, что разобраться с алгоритмом генерации вполне реально. Однако в новых версиях он наверняка изменится, и тогда весь труд пойдет насмарку. Кстати говоря, в сети уже появилось множество предложений об услугах подобного рода. Причем за деньги, что сразу настораживает. И не зря! Все это сплошное мошенничество. Рабочего генератора пока нет ни у кого! Star-Force как троянский компонент Одно из лучших определений вирусов гласит, что вирус (троянец) — это такая программа, которая тайно от пользователя выполняет те действия, о которых он не подозревает, в которых не нуждается и которые, напротив, хотел бы запретить. То, что Star-Force пакостит в системе, всем известно. Практически любая программа делает то же самое (так говорят разработчики Star- Force), но никому бы и в голову не пришло оставлять в системе дыру таких размеров. Для укрепления противохакерской обороны часть защитного кода выполняется в нулевом кольце, что достигается открытием устройства \\.\PRODRV06, заботливо установленного драйвером Star-Force. Для этого даже не нужно администраторских прав. Любой посторонний код может проникнуть в RING0, не спрашивая нашего разрешения! Чуть позже эту дыру залатали (правда, я не проверял, насколько надежно), однако уже сам факт говорит о многом. Если нашли одну дыру — найдут и другие. Поодиночке дыры никогда не ходят! HASP, extreme protector и другие защиты также используют переход на нулевое кольцо, но при этом ухитряются обходиться без дыр и голубых экранов. Так что подходить к защите надо с головой, а не одним лишь желанием досадить хакерам. Так все же взломана Star-Force или нет? Создать пиратскую копию защищенного диска вполне реально, но при этом придется возиться с эмуляторами, переключать шлейфы, переходить на накопители SCSI и проделывать еще массу других манипуляций, противоестественных для рядового пользователя. "Отвязать" Star-Force от диска вручную вполне реально, и все популярные игры уже давно отвязаны, так что говорить о безальтернативном переходе на лицензионную продукцию слишком рано. Легендарная "неломаемость" Star-Force относится именно к автоматическому копированию дисков с помощью специализированных утилит. Появление таких средств ожидается в ближайшем будущем. Разработчики Daemon Tools и Alcohol 120% не дремлют, но ведь и разработчики Star-Force тоже на месте не стоят! Иными словами, перед нами разворачивается целое представление в стиле "противостояние щита и меча". Каждый из нас сам выбирает "свою" сторону баррикады. Но если присоединиться к хакерскому племени может каждый, то принять участие в разработке защиты — едва ли. Ведь это закрытый клуб, со своими законами и бизнес-машиной внутри. Ссылки по теме □ http://www.star-force.ru — официальный сайт разработчиков защиты Star-Force. □ http://www.gamecopyworld.com — огромная коллекция взломанных игр с инструкциями по копированию (игры преимущественно английские). □ http://help.star-force.ru — большая коллекция русских игр, когда-то защищенных Star-Force. □ http://cdru.nightmail.ru — образы некоторых защищенных дисков, пригодные для эмуляции. Там же можно найти описание принципа работы Star-Force и методы копирования дисков, защищенных от копирования с помощью Star-Force. □ http://www.alcohol-soft.com — Alcohol 120%, лучший копировщик всех времен и народов, частично справляющийся и со Star-Force. □ http://cdru.nightmail.ru/cdru/ssilki/progs/mdsedit/AdvancedMDSEdit055.rar — Advanced MDS Editor, редактор образов для Alcohol 120% с возможностью сглаживания образов. □ http://www.daemon-tools.cc — Daemon Tools, эмулятор для работы с образами, созданными Alcohol 120%, намного более компактен и, в отличие от Alcohol 120%, совершенно бесплатен. □ http://www.project-starfuck.tk — Star-Fuck, программа для отключения накопителей IDE "на лету". □ Форумы, посвященные взлому Star-Force: • http://www.wasm.ru/forum/index.php?action=vthread&forum=5&topic=5457 • http://cracklab.ru/f/index.php?action=vthread&forum=1&topic=2060 • http://forum.ru-board.com/topic.cgi?forum=55&topic=0519&start=0 • http://www.amit.ru/foruma/showmes.asp?cust_id=1318&PageNo=&page=1 UDF — расплата за бездумность Как-то раз, когда записывающие приводы только-только входили в моду, робко осваивая необъятные просторы российского рынка, в одной компьютерной фирме раздался звонок взбешенного покупателя. Состоялся следующий диалог: Покупатель: "Мужики! Что за дела?! Какого черта вы мне подсунули неработающий рекордер!" Продавец: "А какую программу вы используйте для записи?" Покупатель: "Нортон, естественно, и нечего держать меня за дурака!" Сейчас этот анекдот уже не вызывает улыбки. Современные оптические носители поумнели настолько, что запись можно вести любыми средствами, хоть из Проводника Windows, хоть из FAR, хоть из того же Нортона. Однако это удобство обходится высокой ценой — снижением надежности, уменьшением емкости, замедлением работы операционной системы и прочими неприятностями. Как же непросто начинающему пользователю разобраться со всей этой кухней! Информация, почерпнутая с форумов, достаточно противоречива, а технические спецификации слишком сложны. Как быть? Что делать? Механизм "прозрачной" записи на CD/DVD, прочно ассоциирующийся у большинства с торговой маркой DirectCD, базируется на двух взаимодополняющих технологиях: пакетной записи (packet writing) и динамической файловой системе (dynamic file system), роль которой, как правило, играет UDF (Universal Disk Format — универсальный дисковый формат). Эти два понятия очень часто путают, хотя они стоят на разных ступенях иерархии. Пакетная запись — это режим прожига, аппаратно поддерживаемый приводом. Помимо него существуют и другие режимы: SAO (Session At Once — сессия за раз), DAO (Disk At Once — диск за раз) и TAO (Track At Once — трек за раз). Не вдаваясь в технические подробности, отметим, что режим определяет размер порции данных, записываемых рекордером за один раз (т.е. без остановки лазера). Самый "расточительный" из всех режимов, DAO, выжигает весь образ диска целиком от первого до последнего сектора и не допускает "дозаписи". Более экономичный режим SAO позволяет дописывать диск многократно, по одной сессии за раз, но при этом каждая сессия занимает, по меньшей мере, 15 Мбайт дискового пространства, что ощутимо бьет по карману. Потрековый режим TAO, "съедающий" всего лишь 300 Кбайт служебных данных на каждый трек, к сожалению, применим лишь к аудиодискам, так как ни одной существующей файловой системой он не поддерживается. К тому же, все три режима не позволяют стирать ранее записанные данные, поскольку они проектировались исключительно для однократно записываемых дисков CD-R. В лучшем случае обеспечивается лишь имитация стирания, осуществляемая путем удаления ссылок из каталога. При этом сами данные физически остаются нетронутыми, да и свободного места не прибавляется. Всех этих недостатков лишен пакетный режим, сокращающий "аппетит" бюрократического аппарата до 14 Кбайт на пакет. При этом сама запись ведется блоками постоянного или переменного размера от 2 Кбайт до 2 Мбайт. Предельно допустимый размер пакетов определяется конструктивными особенностями привода и варьируется от одной модели к другой. Однако этот размер должен составлять не менее 64 Кбайт, иначе это будет неправильный привод, идущий в разрез со стандартом. Пакеты последовательно заполняют диск, двигаясь от его внешней кромки к центру. Спиральная дорожка должна быть непрерывна на всем своем протяжении. Природа оптических дисков такова, что информация "размазывается" вдоль спиральной дорожки, перемешивая биты различных секторов, что обеспечивает лучшую восстанавливающую способность в борьбе с радиальными царапинами и локальными дефектами, поэтому записать один-единственный сектор за раз невозможно в принципе! Нельзя записать пакет в середину диска, оставив за собой хотя бы один непрожженный сектор (рис. 10.9), но ранее записанные пакеты могут перезаписываться многократно, за счет чего, собственно говоря, и обеспечивается возможность удаления файлов. Рис. 10.9. Примеры инкрементной записи Одного лишь механизма пакетной записи для осуществления задуманного явно недостаточно, и к нему еще требуется подобрать адекватную файловую систему. Стандартные файловые системы ISO-9660 и Joliet, разработанные специально для CD-ROM и ничего не знающие о фрагментации, при размещении файла на диске ожидают увидеть непрерывный блок свободного дискового пространства, который обнаруживается далеко не всегда. Файловая система UDF — детище Optical Storage Technology Association — проектировалась с оглядкой на DVD и была далека от мыслей о мировом господстве. Однако разработка оказалась настолько удачной, что ее без труда удалось приспособить и к носителям CD-RW, с учетом всех особенностей их строения. UDF оперирует не с физической, а с логической разметкой диска, и поэтому ей все равно на каком носителе располагаться. Примечание Таким образом, диск, записанный в формате UDF, не обязательно должен быть записан в пакетном режиме, равно как и наоборот — не всякий пакетный режим пользуется услугами файловой системы UDF. Возможность выборочной записи/удаления отдельных файлов на аппаратном уровне обеспечивается режимом пакетной записи, а на программном — специальной драйверной оснасткой. UDF лишь сокращает накладные расходы до разумного минимума, но не более того! Существует несколько спецификацией UDF, самыми устойчивыми из которых являются четыре следующих релиза: □ 1.02 описывает размещение данных (в том числе и видео) на DVD-ROM, поддерживает фрагментацию и ряд других полезных возможностей; □ 1.50 включает менеджер управления дефектами, препятствующий размещению данных на некачественных участках носителя, добавлена работа с CD-RW/CD-R; □ 2.00 поддерживает потоковые файлы, списки управления доступом, калибровку лазера и прочие второстепенные функции; □ 2.01 поддерживает файлы реального времени, гарантирующие сохранение заданной скорости считывания на всем протяжении диска. Windows 98 поддерживает UDF 1.02, Windows 2000 — 1.01, a Windows XP — 1.02, 1.50 и 2.01. Для работы с остальными операционными системами требуется установка соответствующего драйвера, точнее даже драйверов, так как последующие спецификации не включают в свой состав предыдущие. Что же касается Linux-подобных операционных систем, то здесь поддержка UDF представляет собой одну большую проблему, зачастую требующую не только установки специального драйвера, но и обновления ядра! Компоненты, необходимые для работы с UDF Для полноценной работы с дисками, размеченными в формате UDF, нам необходимо иметь: □ рекордер, поддерживающий режим пакетной записи, причем поддерживающий его не кое-как (ради "галочки" в прайс-листе), а спроектированный и реализованный с учетом всей жесткости требований пакетного режима. Обычно тестовые лаборатории различных журналов приводят более или менее полную информацию о характере наиболее ходовых приводов, так что выбрать приличную модель не составит никакого труда; □ драйвер UDF, переводящий язык служебных структур UDF на язык операционной системы (UDF-reader); □ монитор UDF, перехватывающий все обращения с CD, а также обеспечивающий прозрачную запись и форматирование диска. Монитор обычно представляет собой иерархию драйверов, в которой можно выделить, по меньшей мере, два уровня — драйверы абстракции от конструктивных особенностей конкретного оборудования и драйверы, относящиеся непосредственно к самой операционной системе. Добавьте сюда еще программу-индикатор, отображающую состояние привода, и вы получите настоящий "коктейль" драйверов; □ если вы не планируете "прожигать" диски из FAR Manager, но хотите использовать режим пакетной записи для минимизации накладных расходов прожигателя, без UDF-монитора можно и обойтись, заменив его автономной программой записи, например, Ahead Nero. Первый опыт лучше всего приобретать, купив коробочный (retail) привод, в комплект поставки которого входит все необходимое программное обеспечение, автоматически устанавливаемое инсталлятором. В противном случае проблем совместимости вам не избежать. Совет Проследите за тем, чтобы программа пакетной записи (а точнее — ее системный драйвер) поддерживала последнюю ревизию UDF. Большинство вполне современных рекордеров, выпускаемых солидными фирмами, комплектуется программным обеспечением, поддерживающим только UDF v1.5, но не выше (эта информация содержится в спецификации на программное обеспечение выбранного вами привода, которую можно свободно найти в Интернете). Конечно, старую версию можно всегда обновить (например, через Интернет), но и тут не все так просто. Во-первых, далеко не всегда такое обновление бывает бесплатным, а, во-вторых, вероятность возникновения проблем при этом возрастает. Задумайтесь — если бы процедура обновления действительно была бы такой простой, то почему сами производители не сделали это? Ответ — они не хотят менять апробированное и протестированное программное обеспечение на новые версии. Естественно, гнаться за последними версиями драйверов совершенно необязательно. Диски, размеченные в формате UDF v.2.x, в подавляющем большинстве случаев читаются и драйверами от UDF v.1.5, пускай и с ограниченными возможностями. Так, списков управления доступом вы не получите, а при архивировании каталога Documents and Settings в многопользовательских системах без этого обойтись невозможно. Программное обеспечение для пакетной записи Какие программы пакетной записи существуют? Это — хитрый вопрос, и толковать его можно двояко. Программ пакетной записи, включающих в свой состав драйверную оснастку (UDF-reader и UDF-монитор), не так уж и много, так как их разработка требует высокой инженерной культуры и доступна далеко не всем. Большинство производителей программного обеспечения для записи предпочитают не связываться с драйверами. Вместо этого они создают красивый пользовательский интерфейс, а драйверную оснастку приобретают по лицензии у высокотехнологичных корпораций. Пальма первенства несомненно принадлежит пакету DirectCD, созданному в компании Adaptec. Основным держателем лицензии на этот пакет является компания Roxio с ее утилитой Easy CD Creator. Именно поэтому пакет часто называется Roxio DirectCD, что неверно. Краткая характеристика программы: нестабильная, в высшей степени капризная и неуживчивая, конфликтующая как с оборудованием, так и с программной средой, вероломно нарушающая стандартные спецификации на UDF и вносящая в них собственные расширения, затрудняющие чтение записанных дисков на других системах (особенно Linux). Активно использует нестандартные конструктивные особенности оборудования, поэтому весьма привередлива к версии и прошивке последнего. Бракует многие приводы как несовместимые. В общем, достоинств нет совсем, но зато какая яркая реклама! Если вы все еще хотите использовать этот пакет, то он доступен по следующему адресу: http://www.adaptec.com/. UDF-reader распространяется бесплатно, а за все остальное приходится платить. PacketCD от CeQuadrat отличается менее амбициозным поведением, к тому же он поддерживает прозрачное сжатие данных. Эта возможность несколько увеличивает эффективную емкость диска, однако приводит к проблемам совместимости и потому никем реально не используется. В последнее время наблюдается отчетливая тенденция, выражающаяся в том, что современные рекордеры все чаще комплектуются DirectCD, захватывающим территории, некогда принадлежащие PacketCD. Печально. InCD от Ahead — функциональность этого пакета находится на достаточно низком уровне, но зато он корректно уживается с Nero Burning ROM. Работу с дисками CD-R InCD не поддерживает в принципе. Некоторые считают это крупным недостатком, некоторые — нет. Лично меня невозможность записи дисков CD-R-дисков в пакетном режиме сильно коробит. FloppyCD от Gutenberg Systems — единственная программа, поддерживающая пакетную запись в формате ISO-9660 и Joliet. Созданные с ее помощью диски читаются всеми операционными системами без каких-либо дополнительных драйверов, правда, за это приходится расплачиваться отсутствием фрагментации и, как следствие, неэффективным использованием дискового пространства при беспорядочном копировании и удалении большого количества файлов разного размера. Windows XP обеспечивает встроенную поддержку UDF, и никаких дополнительных драйверов для пакетной записи не требует. Устанавливать дополнительное программное обеспечение не нужно, так как все оно нестабильное и неправильное. Хотя… вкусы бывают разные. Технология Mount Rainer Нашумевшая технология Mount Rainer в действительности является не более, чем маркетинговой уткой, реально не сулящей ничего принципиально нового. Но обо всем по порядку. Что такое Mount Rainer? Это — организация, названная в честь живописного национального парка (http://www.nps.gov/mora) и курирующая вопросы взаимодействия операционных систем с оптическими накопителями. В ее состав входят практически все крупные производители аппаратных средств и программного обеспечения: Philips, Microsoft, Compaq, Sony и т.д. Mount Rainer Writer (сокращенно MRW), возносимый некоторыми журналистами чуть ли не до промышленного стандарта пакетной записи, в действительности представляет собой обычную программу для пакетной записи плюс UDF 2.0.1. От программного обеспечения требуется умение форматировать диск в фоновом режиме и корректно обрабатывать прерывание последнего по нажатию кнопки EJECT (после вставки диска форматирование будет продолжено). Заявления о том, что технология Mount Rainer обеспечивает увеличение емкости и количества возможных циклов перезаписи дисков CD-RW, совместимость записанных носителей со всеми современными приводами и операционными системами, оптимизированную скорость передачи данных, дополнительную коррекцию ошибок приводами, не совсем соответствуют действительности. Увеличение циклов перезаписи за счет внедрения в файловую систему менеджера дефектов появилось еще в UDF v.1.5, которой нынче трудно кого-либо удивить. Совместимости со всеми операционными системами у Mount Rainer нет, и без соответствующего драйвера они не читаются. Конечно, это "неправильные" операционные системы, не поддерживающие MRW, а "правильность" — это прерогатива Windows XP, ради продвижения которой вся эта рекламная шумиха, собственно говоря, и затевалась. Короче говоря, никакой необходимости в наличии логотипа Mount Rainer Compatible на коробке покупаемого привода нет! Живите спокойно! Ту же самую функциональность можно обеспечить и за меньшие деньги! Регламент работ При установке чистого диска CD-RW в привод UDF-монитор автоматически предлагает его отформатировать. Диски CD-R чаще всего игнорируются, и форматировать их приходится вручную. В зависимости от специфики драйверной оснастки эта операция осуществляется либо через стандартное контекстное меню проводника Windows, либо через интерфейс самой программы записи. В зависимости от скорости и конструктивных особенностей привода форматирование может занять от двадцати минут до одного часа. В режиме Mount Rainer форматирование осуществляется в фоновом режиме, и возможность записи файлов доступна уже через несколько секунд после его начала. Эффективная емкость отформатированного диска составляет порядка 550 Мбайт, остальные мегабайты заняты служебными данными, так что если вы не обнаружите их на своем диске, не пугайтесь — все идет по плану. Структура пакета схематично показана на рис. 10.10. Как видите, значительный объем пространства отводится для служебной информации (run-in, run-out, pre-gap, post-gap и т.д.). В некоторых случаях эти накладные расходы могут быть весьма значительными. Попробуйте, например, скопировать в пакетном режиме полноценный фильм. Рис. 10.10. Структура пакетов в режиме пакетной записи Теперь, используя мышь или FAR Manager, попробуйте перетащить на CD- R/CD-RW диск несколько файлов, и они послушно скопируются, а свободный объем скачкообразно уменьшится на величину, существенно превышающую суммарный размер записываемых файлов. Что ж, пакетная технология берет свою мзду! Будьте готовы к тому, что при попытке просмотра диска в системе без драйверов UDF (например, в свежеустановленной Windows 9 x /Windows 2000) диск либо не будет читаться совсем, либо, что более вероятно, обнаружит в своем каталоге один-единственный исполняемый файл, который вы туда не записывали. Успокойтесь! Это отнюдь не вирус, разрушивший все ваши файлы. Это — UDF-reader. Естественно, предназначенный для Windows, и естественно, требующий после установки перезагрузки (а под Windows 2000 — еще и прав администратора). При этом его еще не так-то просто удалить из системы. Подумайте — а захочет ли владелец того компьютера устанавливать на него что-то навязываемое? Он может взять да и отказаться работать с вашим диском! Правда, при закрытии сессии на родной машине UDF-монитор обычно формирует файловую систему ISO 9660 — стандартную для всех операционных систем и читающуюся безо всяких драйверов, но дальнейшая запись файлов на этот диск уже становится невозможной вплоть до его очистки.
Информация к размышлению Чтобы там ни говорили производители, пакетная технология намного менее надежна, чем классическая запись всей сессии целиком. Многократные зажигания/гашения лазера образуют прерывистую цепочку, концы которой плохо "склеиваются" друг с другом, и потому оптической головке стоит больших усилий не сбиться с дорожки. В момент зажигания лазера его характеристики довольно сильно "пляшут", что ухудшает качество прожига. В обычном режиме у привода есть время стабилизироваться, так как прожиг начинается с записи вводной области (lead-in), многократно дублирующей служебную информацию. По этой причине первые несколько секторов вводной области практически всегда оказываются дефектными. Что касается пакетной записи, то в этом режиме лазеру приходится включаться в работу "с места в карьер". К тому же, сектора, хранящие файловую систему, работают в необычайно интенсивном режиме, перезаписываясь при каждой операции копирования/удаления. Чтобы избежать множественной перезаписи одних и тех же секторов, были предприняты специальные меры. Например, виртуальная таблица расположения (virtual allocation table, VAT), являющаяся одним из ключевых элементов UDF, позволяющая осуществлять инкрементную запись, может свободно мигрировать по всему диску, что дает возможность избежать множественной перезаписи одних и тех же секторов (рис. 10.11). Однако как с этим ни борются, служебные структуры данных погибают раньше всего, иногда даже после ~100 циклов перезаписи. Диск перестает читаться безо всякой надежды на его восстановление (разумеется, мы говорим о непрофессионалах). Рис. 10.11. Структура файловой системы UDF, ключевым элементном которой является VAT, свободно мигрирующая по всему диску и потому предотвращающая многократную перезапись одних и тех же участков Не забывайте и о механических повреждениях — диски UDF к ним относятся весьма щепетильно, и одна-единственная царапина может угробить все ваши файлы. Рекламируемый механизм управления дефектами здесь не срабатывает, так как он не устраняет ошибки, а лишь препятствует использованию сбойных секторов! Внимание! Никогда и ни при каких обстоятельствах не записывайте в пакетном режиме действительно ценные файлы, которые вам было бы жаль потерять! Если вы все-таки делаете это, в обязательном порядке продублируйте их на несколько дисков. Перенос файлов между компьютерами — дело другое, и UDF тут практически незаменим. Кстати, о надежности. Производители оптических накопителей склонны преувеличивать срок их службы, зачастую давая пожизненную гарантию. Но маловероятно, что кому-либо когда-либо удастся воспользоваться этой гарантией. Общеизвестно, что при попытке возврата дефектного диска на завод-изготовитель все компании отвечают неизменным отказом, ссылаясь на нарушение условий хранения диска. У вас помещение кондиционируется? Влажность и температура с какой точностью выдерживаются? Если вы честно ответите на такие вопросы, вы получите отказ в вашей просьбе. Реально (по собственному опыту и опыту своих друзей) могу сказать, что даже Verbatim спустя полтора-два года обнаруживает резкое ухудшение качества чтения за счет деградации активного слоя, поэтому хранить на дисках CD-R/CD-RW свои архивы могут только самоубийцы. Используйте стример, магнитооптику или умирающий, но все же неизменно надежный Iomega ZIP 100MB.
Какой привод выбрать Для надежной работы в пакетном режиме и пишущий, и читающий приводы должны, как минимум, поддерживать режим Multi Read, о чем свидетельствует одноименный логотип на его лицевой панели. Разумеется, не всякому логотипу можно верить. Тщательное расследование, проведенное технологической ассоциацией по оптическим устройствам хранения данных (Optical Storage Technology Association, OSTA), показало, что качественных приводов на рынке единицы (рис. 10.12). Рис. 10.12. Поддержка режима Multi Read различными производителями. "Совместимость продемонстрирована" — привод полностью соответствует спецификации, "Выдана лицензия на логотип MultiRead" — лицензия на логотип выдана, но этой информации нельзя доверять полностью И все-таки, несмотря на все свои многочисленные недостатки, технология пакетной записи и файловая система UDF вызывают восхищение. Это — действительно прогрессивные технологии, активно подрывающие старые устои изнутри. Дайте ей время, и эта технология разовьет такую мощь, что турбинам реактивных самолетов останется лишь завидовать. Секреты прожига лазерных дисков Помните, во времена MS-DOS существовал драйвер, позволяющий записывать на обычную 740-килобайтную дискету до 800 Кбайт информации? А 900.com помните? О, времена, о нравы! Сегодня, когда дискеты давно вышли из моды, а емкость массовых носителей информации перешагнула через отметку в 650 Мбайт, старые идеи дают новые всходы... Емкость дисков CD-R/RW, декларируемая производителем, всегда много меньше физической емкости данного диска и равна объему информации, который можно записать в режиме MODE 1. Разумеется, помимо MODE 1 существуют и другие режимы записи данных, отличающиеся друг от друга емкостью и надежностью. Если целостность данных не является превалирующим фактором, то емкость лазерного диска можно существенно увеличить, выиграв порядка 15% дополнительного пространства за счет отказа от избыточных корректирующих кодов Рида-Соломона. Использование незадействованных каналов подкода дает еще 4% емкости, а отказ от выводной области — 2%. Наконец, не стоит забывать о такой полезной возможности, как overburn ("перепрожиг" диска). Таким образом, на обычный лазерный диск емкостью 700 Мбайт при желании можно записать от 800 Мбайт до ~900 Мбайт данных, а на 90-минутный — от 900 Мбайт до 1 Гбайт. Чтобы этого добиться, первым делом необходимо вспомнить сколько там бит в байте. Правильно, восемь. А сколько бит в семистах мегабайтах? А это смотря в каких мегабайтах! Так, например, стандартный диск 700 Мбайт CD-R/RW вмешает, по меньшей мере, 23 миллиона бит или порядка трех гигабайт "сырой" информации, большая часть которой расходуется на служебные структуры данных, обеспечивающие лазерному диску работоспособность. На рис. 10.13 показано распределение дискового пространства CD между данными различных типов. Как видите, для хранения пользовательских данных отводится лишь немногим более половины от доступного дискового пространства. Рис. 10.13. Распределение дискового пространства на CD между данными различных типов Колоссальная избыточность принятой системы кодирования объясняется физическими свойствами светового луча, который, в силу своих волновых свойств, одиночные "питы" и "лэнды" просто огибает. Физически диск представляет собой тонкую пластину из поликарбоната, покрытую тонким отражающим слоем, изготовленным из алюминия или, в некоторых случаях, золота (рис. 10.14. а и б). Отражающий слой, в свою очередь, покрыт специальным защитным слоем. Нормальная поверхность отражающего слоя CD, называемая "лэндом" (от английского слова land — равнина, земля), покрыта микроскопическими углублениями, называемыми "питами" (от английского слова pit — ямка, впадина). Питы нанесены на отражающую поверхность таким образом, что чередующиеся питы и лэнды образуют длинную, непрерывную спиральную дорожку. Примечание На носителях CD-R питов в строгом смысле этого слова нет. Однако они замещены специальным слоем красителя, который прожигается лазером. Обуглившийся краситель деформирует отражающий слой, и это препятствует отражению лазерного луча этим участком (рис. 10.14, в). Однако приводы воспринимают CD, изготовленные методом литья под давлением, точно так же, как и записанные диски CD-R. Единственное отличие состоит в том, что диски, изготовленные литьем под давлением, более контрастны. Рис. 10.14. Физическая структура лазерного диска Если рассмотреть поверхность CD под электронным микроскопом (рис. 10.15), то можно видеть чередующиеся цепочки питов и лэндов. Лэнды отражают большую часть падающего на них излучения, а питы, в силу своей удаленности от точки фокуса, не отражают практически ничего. Рис. 10.15. Поверхность лазерного диска под электронным микроскопом Вследствие волновой природы луч лазера обходит одиночные питы и лэнды. Минимальной "формацией", уверенно распознаваемой лазерным лучом, является последовательность из трех питов (лэндов), соответствующая трем логическим нулям. Таким образом, питы и лэнды формируют цепочки, каждая из которых имеет длину от трех до десяти питов или лэндов (рис. 10.16). Рис. 10.16. Питы и лэнды образуют цепочки длиной от трех до десяти питов или лэндов каждая Переход от пита к лэнду (или наоборот) соответствует логической единице, а логический ноль представляется отсутствием переходов в данной позиции. Поскольку диаметр сфокусированного лазерного луча равен трем питам, более короткие цепочки уже не распознаются лазером. Таким образом, две смежных двоичных единицы (каждая из которых соответствует переходу от пита к лэнду или от лэнда к питу) всегда должны отделяться друг от друга не менее, чем тремя нулями. В противном случае привод просто не сможет заметить, что здесь присутствует какая-то информация (вспомните, что длина одного пита или одного лэнда значительно меньше, чем диаметр сфокусированного лазерного луча). Что касается верхнего предела длины цепочек, то наличие этого ограничения обусловлено степенью точности тактового генератора и равномерностью вращения диска. В самом деле, если точность тактового генератора составляет порядка 10%, то при измерении 10-питовой цепочки мы получаем погрешность в ±1 пит. Некоторые производители уменьшают длину одного пита на 30%, что во столько же раз увеличивает эффективную емкость диска. Возникает вопрос: как же в таком случае привод ухитряется определить длину той или иной цепочки? Ведь в отсутствии каких бы то ни было опорных значений, привод вынужден сравнивать длину питов с эталоном, а это значит, что цепочка из N уплотненных питов будет интерпретирована как N /2! Дизассемблировав прошивку своего привода PHILIPS, я выяснил, что привод имеет автоматический регулятор скорости, подбирающий такое значение T, которое соответствовало бы наименьшему количеству ошибок чтения (см. рис. 10.16). Поскольку две соседние единицы всегда оказываются разделены, по меньшей мере, тремя нулями, приходится прибегать к сложной системе перекодировки, преобразующей всякий 8-битный символ исходных данных в 14- битное слово EFM (Eight to Fourteen Modulation). При этом слова EFM не могут следовать вплотную друг за другом (задумайтесь, что произойдет, если за одним словом EFM, оканчивающимся на единицу, попробовать записать другое слово EFM, которое тоже начинается с единицы). Таким образом, слова EFM должны разделяться тремя объединительными битами (merging bits). Соответственно, на каждые 8 бит исходных данных приходится 9 избыточных данных. Очевидно, что стандартная схема модуляции не является идеальной и оставляет достаточный запас для ее усовершенствования. Более подробно этот вопрос будет рассмотрен далее в этой главе. Минимальной порцией данных, непосредственно адресуемой на программном уровне, является сектор (или в терминологии Audio CD — блок). Один блок состоит из 98 фреймов, каждый из которых, в свою очередь, содержит: □ 24 байта полезных данных; □ 8 байт кодов Рида-Соломона, часто называемых перекрестно-перемежающимися кодами Рида-Соломона (cross-inerleaved Reed-Solomon codes, CIRC codes), хотя с технической точки зрения это и не совсем верно; □ 3 синхробайта; □ 8 бит каналов подкода — по одному биту на каждый из восьми каналов, условно обозначаемых латинскими буквами P, Q, R, S, T, U, V и W соответственно. Q-канал хранит служебную информацию о разметке диска, P-канал служит для быстрого поиска пауз, остальные каналы — свободны. Таким образом, эффективная емкость одного блока составляет 2352 байта, или даже 2400 байт, с учетом каналов подкода (из 98 байт субканальных данных — 34 байта отданы под служебные нужды). Корректирующие коды Рида-Соломона позволяют исправлять до 4 разрушенных байт на каждый фрейм, что составляет 392 байта на целый блок. Диски с данными (Data CD), ведущие свою родословную от 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 и другие типы файлов. С некоторой долей риска можно записывать архивы и исполняемые файлы, потерей которых вы не сильно огорчитесь, или которые возможно восстановить из основного хранилища (например, при переносе файлов между компьютерами, дублировании дисков, взятых напрокат, и т.д.). Чистый 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 предполагалось использовать для критических к разрушению данных (исполняемых файлов, архивов и т.д.), a FORM 2 — для аудио/видеоданных. Увы, этим замыслам было не суждено сбыться, и широкого распространения режим FORM 2 так и не получил. Единственным популярным форматом, опирающимся на режим XA MODE 2 FORM 2, стал Video CD/Super Video CD, позволяющий записать на обычном 700-мегабайтном диске до 800 Мбайт информации и 900 Мбайт — на 90-минутном (плюс overburn). Это приблизительно на четыре мегабайта меньше, чем в чистом MODE 2, но такими потерями можно и пренебречь. Зато, в отличие от чистого MODE 2, формат Video CD/Super Video CD поддерживается операционными системами семейств Windows и Linux! Проблемы Сам по себе MODE 2 никаких сложностей не вызывает. Это — стандартный режим, штатно поддерживаемый всеми приводами, носителями и драйверами. Проблема состоит в том, что ISO 9660 и все файловые системы на ее основе налагают на размер сектора жесткие ограничения, требуя, чтобы он представлял собой степень двойки (т.е. составлял 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 (рис. 10.17). Рис. 10.17. Запись Video CD/Super Video CD средствами Ahead Nero Burning ROM. Емкость одного такого диска составляет порядка 800 Мбайт (900 Мбайт на 90-минутных CD-R), однако исходные данные должны быть представлены в формате MPEG1/MPEG2. В то же время использование 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 как Video CD, это ни к чему не приведет, поскольку операционные системы семейства Windows "поддерживают" Video CD-диски весьма оригинальным образом. "Сырой" видеопоток в формате "настоящего" MPEG1/MPEG2 их не устраивает, и они насильно добавляют к нему свой заголовок в формате файла для обмена ресурсами (Resource Interchange File Format, RIFF), явным образом указывающий формат файла. Очевидно, что после таких вмешательств никакой формат воспроизводиться не будет, и попытка проиграть MPEG4 как 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. Другой путь заключается в использовании программного обеспечения, игнорирующего "лишний" заголовок (например, Freecom Beatman CD/MP3 Player, см: http://www.vnunet.com/Print/1129594). Сеанс практической магии в MODE 2 Среди программ, поддерживающих запись диска в режиме MODE 2, в первую очередь следует выделить утилиту CDRWin, пользующуюся неизменной любовью профессионалов. Это — чрезвычайно мощный инструмент, возможности которого ограничены лишь фантазией пользователя, выполняющего запись. Самую свежую версию программы можно скачать, в частности, отсюда: http://www.goldenhawk.com/download_body.htm. Кроме того, пригодится и консольная версия программы, управляемая из командной строки, которая также имеется на сайте http://www.goldenhawk.com. Процесс прожига диска мы начнем с подготовки исходного файла. Первым и единственным предъявляемым к нему требованием будет выравнивание его длины до целого количества секторов. Пусть длина файла равна 777 990 272 байтам, тогда, чтобы уложиться в целое число 2336-байтных секторов, мы должны либо отрезать 1824 байта от конца файла, либо дописать к нему 512 нулей. Аудио- и видеофайлы безболезненно переносят как усечение своего тела, так и мусор в хвосте. Обе этих операции можно осуществить в любом НЕХ-редакторе, например, HIEW (http://www.softpedia.com/get/Programming/File-Editors/Hiew.shtml). Усечение файлов выполняется очень просто. Открываем файл, запускаем стандартный Windows-калькулятор и, перейдя в инженерный режим, переводим десятичную длину файла в шестнадцатеричный формат: 777990272 - 1824 <ENTER> 777988448 <F5> 2E5F2960 (обычным шрифтом набраны символы, набираемые на клавиатуре, а жирным — ответ калькулятора). Возвращаемся в HIEW, нажимаем <F5>, вводим полученное число (в данном случае: 2E5F2960) и, подтвердив серьезность своих намерений клавишей <ENTER>, последовательно нажимаем <F3>, <F10> и, наконец, <Y>. Соответственно, заполнение хвоста файла нулями осуществляется так: одновременным нажатием на <Ctrl>+<End> мы перемещаемся в конец файла, а клавишей <F3> переходим в режим редактирования. Теперь дополняем файл нужным количеством нулей. На практике усекать файл намного удобнее, чем расширять. Тот килобайт, который мы от него отрежем, не составит и секунды звучания, поэтому данной потерей легко можно пренебречь. Переходим ко второму этапу — созданию файла cue sheet, содержащего всю информацию о структуре прожигаемого образа. Типичный файл cue sheet должен выглядеть приблизительно так, как показано в листинге 10.7. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.034 сек.) |