Листинг 1 Вывод содержимого диска на экран, на самом деле коварная Windows выводит содержимое одной лишь последней сессии диска. Что содержат все остальные – неизвестно. Во всяком случае – пока неизвестно Ага, совокупный объем девяти файлов, доступных для операционной системы, составляет всего 72 мегабайта (76.082.156 байт), а совокупный объем всех сессий диска – 47,66 + 6,50 + 8,21 + 8,04 + 6,91 + 10,62 + 9,04 + 9,10 + 9,22 + 9,46 == 124,76 МБ, что на 52 МБ длиннее! (примечание: поле "Write Sector", содержащее длину записанной области диска и равное в данном случае 255 Мб, для наших целей абсолютно бесполезно, поскольку в записанную область диска входят не только полезные данные, но и служебные области каждой сессии, в результате чего полная емкость диска всегда меньше его эффективной емкости, даже если на нем нет никаких удаленных файлов).
В какой именно сессии содержатся удаленные файлы, сказать невозможно, – они могут присутствовать в любой из них (или даже в нескольких сессиях сразу). Поэтому в общем случае все имеющиеся сессии должны просматриваться последовательно. Однако, иногда удается найти более короткие пути. Применительно к рассматриваемому нами примеру: давайте попробуем оттолкнуться от того факта, что количество имеющихся на диске сессий на единицу больше числа выведенных командой dir файлов, причем размеры девяти последних секций практически совпадают с размерами соответствующих им файлов. Первая же сессия диска, имеющая размер 48 МБ, не соответствует ни одному из видимых файлов. Что же она тогда содержит? А вот сейчас смонтируем эту сессию на отдельный дисковый том и посмотрим! К сожалению, штатные средства Windows не позволяют осуществлять такое монтирование непосредственно, и потому приходится идти обходным путем, записывая выбранную сессию в ISO-образ с последующим копированием последнего на чистый CD-R/CD-RW диск. Естественно, CD-RW диски более практичны для таких экспериментов, поскольку их можно использовать многократно. Еще удобнее Alcohol 120%, динамически монтирующий ISO-образы на виртуальный CD-ROM, и тем самым экономящий кучу времени (но, к сожалению, он не предоставляет возможности выбора сохраняемых сессий и всегда помещает в создаваемый им образ содержимое всего диска целиком, поэтому одного лишь Алкоголика для наших экспериментов будет более чем недостаточно).
Возвращаясь к нашим баранам (простите, к Roxio Easy CD Creator), дважды щелкнем мышем по строке "Session 1" или, предварительно выделив ее курсором, нажмем на кнопку "Read Track". На экране немедленно появится диалоговое окно следующего вида:
Рисунок 2 Диалоговое окно извлечения сессии с настройками по умолчанию
Поле "Имя файла", как и следует из его названия, задает имя образа (по умолчанию "Track"), а "Тип файла" – формат. Каким либо образом "колдовать" над ним бесполезно, поскольку других форматов бесплатная версия программы все равно не поддерживает и возможность их выбора (точнее видимость возможности выбора) предоставляется пользователю исключительно из соображений этикета и/или вежливости.
А вот настройки, обведенные рамкой "Read Data Track Settings", намного более интересны. Окно редактирования "Start Block" содержит LBA-адрес первого сектора выбранной сессии, а "Length in Block" – длину сессии в секторах, также по умолчанию сюда подставляется информация, почерпнутая из TOC`а. При условии, что TOC не был умышленно искажен с целью защиты диска от копирования, этим данным можно верить. Однако, как мы увидим в дальнейшем, искажение TOC`а - не редкость, и с ним довольно часто приходится сталкиваться на практике (впрочем, возможности Easy CD Creator`a по восстановлению треков с искаженными адресами даже более чем ограничены, т. к. он слишком щепетильно проверяет "правильность" начального и конечного адресов, и если TOC говорит, что начальный адрес больше конечного, то Easy CD Creator будет свято верить TOC`у, причем настолько свято, что все попытки убедить его в обратном заранее обречены на провал, так что для работы с защитами лучше подыскать другую программу – поумнее).
Поле "Block Size" содержит размер пользовательской части сектора в байтах. Свобода выбора здесь представлена чисто символически, – все равно изменить это значение вы не сможете (да и нужно ли его изменять? ведь "сырых" секторов Easy CD Creator все равно не поддерживает, а размер пользовательской части сектора однозначно определяется типом самого сектора и его изменение – бессмысленно).
Короче говоря, оставив все установки в состоянии, предлагаемом по умолчанию, нажимаем кнопочку "сохранить" и некоторое время ждем, пока выбранная нами сессия копируется в ISO-файл. Когда же процесс "трансплантации" будет закончен, сформированный образ можно "закатать" на новую болванку тем же Easy CD Creator`ом (для в меню "File" необходимо выбрать пункт "Record CD from CD image", указав в типе файлов "ISO Image File"), либо запустить "Алкоголика" и смонтировать образ на виртуальный диск.
Так или иначе, доступ к удаленным файлам будет получен и вы сможете делать с ними все, что хотите (внимание! при просмотре содержимого "сграбленной" сессии всегда учитывайте, что: во-первых, файлы, физически принадлежащие другим сессиях, из данной сессии окажутся недоступными, в то время как ссылки на них здесь могут изобиловать. При обращении к реально несуществующему файлу будет выдаваться либо мусор, либо сообщение об ошибке. Как альтернативный вариант – операционная система может просто зависнуть. Если это произошло, просто нажмите кнопку выброса диска. Windows тут же выйдет из ступора и радостно завопит "устройство не готово". Во-вторых, в силу сквозной адресации секторов, каждая "сграбленная" сессия должна записываться на то же самое место диска, на котором она была ранее, в противном случае все ссылки на стартовые адреса файлов внутри этой сессии окажутся недействительными. Требуемый результат обычно достигается изменением стартового адреса первого трека. О том, как это сделать, рассказывается в следующей части статьи, посвященной восстановлению информации с очищенных CD-RW дисков).
восстановление очищенных CD-RW
Существует две принципиально различных методики очистки CD-RW: быстрая (quick) и полная (full). При быстрой очистке диска с него удаляется лишь область TOC, в результате чего диск выглядит "пустым", хотя его основное содержимое остается совершенно нетронутым. Напротив, при полной очистке луч лазера "выжигает" всю поверхность диска целиком – от первого пита до последнего. Естественно, на это требуется время, и полная очистка диска может растянуться на добрый десяток минут, в то время как быстрая спокойно укладывается в одну-две минуты.
Восстановление полностью очищенных дисков возможно только на специальном оборудовании, способном улавливать даже незначительные изменения отражательной способности рефлекторного слоя. Такое оборудование подавляющему большинству пользователей, разумеется, недоступно. Однако диски, подвергшиеся быстрой очистке, могут быть восстановлены и на штатом рекордере (правда, не на всех моделях).
Мы не будем касаться этической стороны проблемы и для простоты предположим, что вы хотите реанимировать свой собственный непредумышленно очищенный CD-RW диск, или условимся считать всех читателей сотрудниками КГБ, которым поручили восстановить информацию с диска, добытого бесстрашными советскими разведчиками у американских шпионов. Отметим лишь то, что восстановление конфиденциальной информации с чужих CD-RW может быть классифицировано как получение несанкционированного доступа к последней со всеми вытекающими отсюда последствиями (на долгие годы друзья – в полоску и небо - в клетку).
Для опытов по восстановлению информации с очищенных CD-RW дисков нам потребуется следующее:
- пишущий привод, не слишком дотошно следящий за корректностью содержимого TOC`a, поддерживающий режим RAW DAO и умеющий читать содержимое pre-gap первого трека. Не все модели писцов подходят для этой цели, поэтому будьте готовы к тому, что вам придется перепробовать большое количество различного оборудования (из двух моих рекордеров для восстановления очищенных дисков подходит лишь NEC, а PHILIPS на это, увы, не способен);
- продвинутый записывающий soft, позволяющий манипулировать служебными областями диска по своему усмотрению. Вы можете использовать Clone CD, CDRWin, Alcohol 120% или любую другую аналогичную утилиту по своему выбору. Однако весь последующий материал рассчитан исключительно на Clone CD и при переходе на остальные программы вы можете столкнуться с теми или иными проблемами. Если вы не уверены, что сможете справиться с ними самостоятельно – используйте Clone CD, ну а затем, по мере приобретения профессиональных навыков и должного опыта, вы без труда восстановите диск любой такой программой;
- средство для работы с диском на сектором уровне, – утилита, позволяющая прочесть любой заданный сектор (конечно, при условии, что он вообще читается приводом) и не пытающаяся пропустить те сектора, в которых, по ее самоуверенному мнению, ничего интересного все равно нет. Копировщики защищенных дисков, перечисленные выше, для этой цели не подходят, т. к. отказываются читать "бесполезные" с их точки зрения сектора. Может быть, другие копировщики ведут себя и иначе – не знаю, не проверял. Вместо этого необходимую для работы утилиту я написал самостоятельно.
Прежде чем начинать экспериментировать, давайте разберемся, почему после очистки диск перестает читаться. Вопрос не так глуп, каким он кажется, – ведь информация, необходимая для позиционирования головки и поиска конкретных секторов, при быстрой очистке диска остается нетронутой! Управляющие данные "размазаны" вдоль всей спиральной дорожки и для чтения диска на сектором уровне TOC в, общем-то, и не нужен. Да, отсутствие TOC`a значительно усложняет анализ геометрии диска и для определения количества треков/сессий диска в общем случае привод должен прочитать весь этот диск целиком. Но при восстановлении информации фактор времени играет второстепенную роль, и им можно полностью пренебречь.