412 000 произведений, 108 200 авторов.

Электронная библиотека книг » Крис Касперски » Восстановление данных. Практическое руководство » Текст книги (страница 20)
Восстановление данных. Практическое руководство
  • Текст добавлен: 26 июня 2025, 05:19

Текст книги "Восстановление данных. Практическое руководство"


Автор книги: Крис Касперски



сообщить о нарушении

Текущая страница: 20 (всего у книги 26 страниц)

FLASH-память

Термин "FLASH-память" охватывает целый спектр устройств, на краю которого находятся мини-драйвы, по сути представляющие собой миниатюрные жесткие диски. Естественно, к каждому типу устройств нужен индивидуальный подход, и принципы их восстановления различны.

Давайте рассмотрим тип FLASH-носителей, которые состоят из перепрограммируемой микросхемы энергонезависимой памяти и контроллера USB, так как он встречается чаще всего. Микросхема памяти довольно надежна и отказывает, прямо скажем, не очень часто. Что же касается контроллера USB, то он легко выводится из строя вездесущим статическим электричеством, да и вообще довольно-таки уязвим. Если только память и контроллер USB не интегрированы в единую микросхему, то контроллер легко перепаять. Достаточно купить еще один FLASH-носитель точно такой же или аналогичной модели. Естественно, для этого необходимо уметь держать паяльник в руках, иначе данные умрут окончательно. Современные микросхемы очень боятся перегрева, и стоит нам лишь чуть-чуть замешкаться, как они тут же гибнут бесповоротно.

Впрочем, аппаратные отказы FLASH-карт – это все-таки экзотика. Гораздо чаще приходится сталкиваться с логическими разрушениями, например, вроде ошибочно удаленных файлов или неполадок работы драйвера. Глюки – это настоящая проблема. Из-за них погиб Mars Rover (http://www.esolpartners.com/shared/pdf/Spirit_Rover_8.23.04.pdf), да и вообще теряется огромное количество данных. Суть в том, что часть памяти зарезервирована под служебные нужды, но доступ к ней не заблокирован, поэтому программными средствами можно не только прочесть эту область, но и записать в нее все, что угодно. Если драйвер по ошибке или злому умыслу затирает служебную область, доступ к FLASH-карте чаще всего становится невозможным. Мы не можем даже отформатировать ее, не говоря уже о том, чтобы считать данные. Несколько лет назад, когда карты были дорогими, это становилось настоящим потрясением. Впрочем, всегда было можно найти устройство, которое игнорирует служебную область и работает с картой без нее, а это значит, что низкоуровневый доступ к FLASH-памяти все же работал! А раз так – можно считать все данные и самостоятельно декодировать их.

Восстановлением FLASH-карт занимается множество утилит. Лично я предпочитаю Photo Rescue (http://www.photorescue.net/) от создателя легендарного дизассемблера IDA PRO. И хотя она позиционируется как средство "спасения" цифровых фотографий, восстановление "обычных" данных проходит ничуть не хуже. Это – платный продукт, за который придется выложить $30 или даже $40 (Expert Edition), однако Evaluation-версия раздается бесплатно всем желающим.

Чтобы никогда не заниматься восстановлением резервных копий (а это – занятие не из приятных), всегда дублируйте все критические данные. Тогда при отказе одного из носителей вам не придется хвататься за сердце и глушить корвалол. Поверьте, время, затраченное на резервирование, не идет ни в какое сравнение с расходами на восстановление!

Глава 10
Восстановление лазерных дисков

Записываемые и перезаписываемые лазерные диски представляют собой идеальное средство для резервирования информации умеренных объемов (а всякий администратор обязательно должен заботиться о периодическом резервировании вверенной ему информации!). К сожалению, никакая работа без ошибок не обходится. Что поделаешь – человеку свойственно ошибаться – Errare humanum est, как говорили древние. Ошибочное удаление файлов с носителей CD-R/CD-RW, равно как и непредумышленная очистка последних, хотя бы однажды, да случается. Кстати, как показывает практика, с этим явлением приходится сталкиваться далеко не однажды, особенно если пользователи самостоятельно резервируют ту или иную информацию на CD-R/CD-RW.

Насколько мне известно, утилит, предназначенных для восстановления информации с лазерных дисков, до сих пор не разработано. Во всяком случае, такие утилиты не были широко представлены на рынке. Поэтому в подавляющем большинстве случаев восстановлением испорченных дисков приходится заниматься самостоятельно.

Восстановление удаленных файлов с CD-R/CD-RW

Заявляя о своей поддержке многосессионных дисков, операционные системы Windows 9x и Windows NT (вплоть до Windows 2000 включительно) тактично умалчивают о том, что поддерживают их лишь частично. Каждая сессия – это вполне самостоятельный том (в терминологии Windows – "логический диск"), имеющий собственную файловую систему и собственные файлы. Благодаря сквозной нумерации секторов лазерного диска файловая система одной сессии может ссылаться на файлы, физически расположенные в любой другой сессии. Для того чтобы с многосессионным диском было можно работать как с единым томом, файловая система последней сессии должна включать в себя содержимое файловых систем всех предыдущих сессий. Если этого не сделать, то при просмотре диска штатными средствами Windows оглавления остальных сессий окажутся потерянными, поскольку Windows монтирует лишь последнюю сессию диска, а все прочие – игнорирует. Программы "прожига" CD-R/RW по умолчанию добавляют содержимое файловой системы предыдущей сессии к последующей, однако это еще не означает, что последняя сессия диска всегда содержит в себе все то, что имеется в предыдущих.

Рассмотрим, например, как осуществляется удаление файлов с CD-R/RW. Нет, это не опечатка! Содержимое дисков CD-R, несмотря на физическую невозможность их перезаписи, в принципе все же уничтожаемо. Для имитации удаления файла программы записи на CD просто не включают ссылку на уничтожаемый файл в файловую систему последней сессии. Следует, правда, заметить, что эта возможность дарована далеко не всем программам. Например, Roxio Easy CD Creator может поступать таким образом, a Stomp Record Now! – нет. И хотя "удаленный" файл все еще присутствует на диске, "отъедая" часть дискового пространства, при просмотре содержимого диска штатными средствами Windows он уже не отображается в каталоге. Если удалению одних файлов сопутствует запись других, то в любом случае приходится открывать новую сессию, а каждая вновь открываемая сессия требует для своего размещения определенного пространства. Какой же тогда смысл в удалении файлов с CD-R, если объем свободного пространства на диске при этом не увеличивается, а даже уменьшается? На самом же деле смысл этой операции (если, его вообще можно назвать "смыслом") заключен исключительно в сокрытии "удаляемых" файлов от простых пользователей. Раз удаленные файлы не видны при просмотре содержимого диска штатными средствами, то неквалифицированному пользователю они формально недоступны.

Примечание

Здесь уместно подчеркнуть, что "недоступны" эти файлы будут только для штатных средств операционной системы Windows. Например, компьютеры Macintosh позволяют монтировать любую сессию диска на отдельный том, благодаря чему при просмотре многосессионных дисков на Macintosh все якобы удаленные файлы сразу же "всплывают".

Аналогичным образом обстоят дела и при удалении информации с носителей CD-RW. Несмотря на теоретическую возможность физического уничтожения удаляемой информации подавляющее большинство записывающих программ поддерживают лишь функцию очистки всего диска целиком, но не могут выборочно удалять отдельные файлы. Так что все, сказанное выше о CD-R, в равной мере применимо и к CD-RW.

Внимание!

Записывая на диск информацию, предназначенную для передачи постороннему лицу, ни в коем случае не используйте для этой цели носители, содержащие конфиденциальные данные. "Удаление" ранее записанных на лазерный диск данных на самом деле не уничтожает их!

Просматривая содержимое лазерного диска, полученного от приятеля (купленного на радиорынке, вытащенного из мусорной корзины), можно попытаться заглянуть внутрь предыдущих сессий на предмет поиска скрытой информации. Как показывает практика, очень часто там обнаруживается много интересного. Кроме того, вам может потребоваться восстановить ошибочного удаленный файл со своего собственного диска, а то и воскресить всю затертую сессию целиком. Стоит отметить, что некоторые программы записи на CD позволяют пользователю выбирать, следует ли при создании новой сессии добавлять в нее файловую систему предыдущей. При желании в новую сессию можно включить только новые файлы. Неверный выбор настроек приводит к утрате содержимого всех предыдущих сессий. К счастью, эта утрата обратима.

Для восстановления удаленных файлов можно воспользоваться любой программой, способной извлекать содержимое выбранной сессии диска и записывать его в образ ISO. Для определенности пусть это будет Roxio Easy CD Creator. Вставьте диск, подлежащий восстановлению, в привод, выберите пункт CD Information из меню CD. На экране появится диалоговое окно CD Information (рис. 10.1).

Рис. 10.1. Анализ содержимого диска на предмет выявления удаленных файлов

Как мы и предполагали, в этом окне представлен перечень всех сессий, имеющихся на диске, с указанием номеров, стартовых адресов (в секторах) и длин (в мегабайтах). Давайте попробуем определить, имеются ли на диске скрытые файлы. Используя команду dir, выведем каталог диска и запомним суммарный размер всех файлов, которые только "видит" операционная система (листинг 10.1). Как следует из листинга 10.1, коварная Windows выводит содержимое одной лишь последней сессии диска. Что содержат все остальные – не известно. Во всяком случае – пока неизвестно.

Листинг 10.1. Вывод содержимого диска на экран

KPNC$G:>dir

 Том в устройстве G имеет метку 030710_1433

 Серийный номер тома: 4DD0-BB09

 Содержимое папки G:

28.05.2003 05:57   6 283 745 phck31.drf.zip

03,06.2003 05:39   8 085 410 phck31.Вт 03.06.2003.zip

04.06.2003 16:45   7 898 149 phck31.Ср 04.06.2003.zip

05.06.2003 06:06   6 718 926 phck31.Чт 05.06.2003.zip

03.07.2003 15:51  10 612 230 phck31.Чт 03.07.2003.zip

05.07.2003 06:37   8 946 860 phck31.Сб 05.07.2003.zip

08.07.2003 12:51   9 009 642 phck31.Bт 08.07.2003.zip

09.07.2003 06:21   9 138 651 phck31.Ср 09.07.2003.zip

10.07.2003 14:32   9 388 543 phck31.Чт 10.07.2003.zip

         9 файлов 76 082 156 байт

         1 папок           0 байт свободно

Ага, совокупный объем девяти файлов, доступных для операционной системы, составляет всего 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 Мбайт длиннее!

Примечание

Поле Written sectors, содержащее длину записанной области диска и равное в данном случае 255 Мбайт, для наших целей абсолютно бесполезно, поскольку а записанную область диска входят не только полезные данные, но и служебные области каждой сессии. В результате этого полная емкость диска всегда меньше его эффективной емкости, даже если на нем нет никаких удаленных файлов.

В какой именно сессии содержатся удаленные файлы, сказать невозможно. Они могут присутствовать в любой из сессий, или даже в нескольких сессиях сразу. Поэтому в общем случае все имеющиеся сессии должны просматриваться последовательно. Однако иногда удается найти более короткие пути. Применительно к рассматриваемому нами примеру попробуем оттолкнуться от того факта, что количество имеющихся на диске сессий на единицу больше числа выведенных командой dir файлов. При этом размеры девяти последних сессий практически совпадают с размерами соответствующих им файлов. Первая же сессия диска, имеющая размер 48 Мбайт, не соответствует ни одному из видимых файлов. Что же она тогда содержит? Давайте смонтируем эту сессию на отдельный дисковый том и посмотрим! К сожалению, штатные средства Windows не позволяют осуществлять такое монтирование непосредственно. Поэтому приходится идти обходным путем, записывая выбранную сессию в образ ISO с последующим копированием последнего на чистый диск CD-R/CD-RW. Естественно, носители CD-RW более практичны для таких экспериментов, поскольку их можно использовать многократно. Еще более практичный и удобный подход – использование программы Alcohol 120%, способной динамически монтировать образы ISO на виртуальный CD-ROM. Это позволяет существенно экономить время. К сожалению, Alcohol 120% не предоставляет возможности выбора сохраняемых сессий и всегда помещает в создаваемый им образ содержимое всего диска целиком. Поэтому для наших экспериментов одной лишь этой программы будет недостаточно.

Возвращаясь к Roxio Easy CD Creator (см. рис. 10.1), дважды щелкнем мышью по строке Session 1 или, предварительно выделив ее курсором, нажмем на кнопку Read Track. На экране немедленно появится диалоговое окно, показанное на рис. 10.2.

Рис. 10.2. Диалоговое окно извлечения сессии с настройками по умолчанию

Поле Имя файла, как и следует из его названия, задает имя образа (по умолчанию "Track"), а Тип файла – формат. Каким-либо образом "колдовать" над ним бесполезно, поскольку других форматов бесплатная версия программы все равно не поддерживает, и возможность их выбора (точнее, видимость возможности выбора) предоставляется пользователю исключительно из соображений этикета или как дань традиции.

А вот настройки из группы опций Read Data Track Settings намного более интересны. Окно редактирования Start Block содержит LBA-адрес первого сектора выбранной сессии, a Length in Blocks – длину сессии в секторах. По умолчанию сюда подставляется информация, извлеченная из TOC. При условии, что диск не был защищен от копирования посредством умышленного искажения TOC, этим данным можно верить. Однако, как мы увидим в дальнейшем, искажение TOC – это не редкость, и с ним довольно часто приходится сталкиваться на практике. Здесь следует отметить, что возможности Easy CD Creator по восстановлению треков с искаженными адресами более чем ограниченны. Эта программа слишком щепетильно проверяет "правильность" начального и конечного адресов. Если TOC говорит, что начальный адрес больше конечного, то Easy CD Creator будет свято верить TOC. Вера эта будет настолько святой, что все попытки убедить Easy CD Creator в обратном заведомо обречены на провал. По этой причине для работы с защитами лучше подыскать другую программу, более интеллектуальную.

Поле Block Size содержит размер пользовательской части сектора в байтах. Свобода выбора здесь представлена чисто символически – все равно изменить это значение вы не сможете. Да и нужно ли его изменять? Ведь "сырых" секторов Easy CD Creator все равно не поддерживает, а размер пользовательской части сектора однозначно определяется типом самого сектора, и его изменение – бессмысленно.

Короче говоря, оставив все установки в состоянии, предлагаемом по умолчанию, нажимаем кнопку Сохранить и некоторое время ждем, пока выбранная нами сессия копируется в файл ISO. Когда этот процесс завершится, сформированный образ можно записать на новый диск с помощью все той же программы Easy CD Creator. Для этого в меню File необходимо выбрать пункт Record CD from CD image, указав в поле типа файлов опцию ISO Image File. Как вариант, можно запустить Alcohol 120% и смонтировать образ на виртуальный диск.

Так или иначе, доступ к удаленным файлам будет получен и вы сможете делать с ними все, что хотите.

Внимание!

При просмотре содержимого "сграбленной" сессии всегда учитывайте, что файлы, физически принадлежащие другим сессиям, из данной сессии окажутся недоступными, в то время как ссылки на них здесь могут изобиловать. При обращении к реально несуществующему файлу будет выдаваться либо мусор, либо сообщение об ошибке. Как альтернативный вариант – операционная система может просто зависнуть. Если это произошло, просто нажмите кнопку выброса диска. Зависание тут же прекратится, и Windows радостно сообщит о неготовности устройства. Еще один факт, который обязательно нужно принять во внимание, состоит в том, что в силу сквозной адресации секторов каждая "сграбленная" сессия должна записываться на то же самое место диска, на котором она находилась ранее. В противном случае все ссылки на стартовые адреса файлов внутри этой сессии окажутся недействительными. Требуемый результат обычно достигается изменением стартового адреса первого трека. О том, как это сделать, рассказывается в следующем разделе данной главы, посвященном восстановлению очищенных носителей CD-RW.

Восстановление очищенных CD-RW

Существует две принципиально различных методики очистки CD-RW: быстрая (quick) и полная (full). При быстрой очистке диска с него удаляется лишь область TOC, в результате чего диск выглядит "пустым", хотя его основное содержимое остается нетронутым. Напротив, при полной очистке луч лазера "выжигает" всю поверхность диска целиком – от первого пита до последнего. Естественно, на это требуется время, и полная очистка диска может растянуться на добрый десяток минут, в то время как быстрая спокойно укладывается в одну или две минуты.

Восстановление полностью очищенных дисков возможно только на специальном оборудовании, способном улавливать даже незначительные изменения отражательной способности отражающего слоя. Такое оборудование подавляющему большинству пользователей, разумеется, недоступно. Однако диски, подвергшиеся быстрой очистке, могут быть восстановлены и на штатом рекордере (правда, не на всех моделях).

Внимание!

Мы не будем касаться этической стороны проблемы, и для простоты предположим, что вы хотите реанимировать свой собственный непредумышленно очищенный диск CD-RW. Отметим, что восстановление конфиденциальной информации с чужих CD-RW может быть классифицировано как получение несанкционированного доступа к последней, со всеми вытекающими отсюда последствиями.

Для опытов по восстановлению информации с очищенных дисков CD-RW нам потребуется следующее.

□ Пишущий привод, не слишком дотошно следящий за корректностью содержимого TOC, поддерживающий режим RAW DAO и умеющий читать содержимое pre-gap первого трека. Не все модели пишущих приводов подходят для этой цели. Будьте готовы к тому, что вам придется перепробовать большое количество различного оборудования. Например, из двух моих рекордеров для восстановления очищенных дисков подходит лишь NEC, a PHILIPS на это, увы, не способен.

□ Продвинутое ПО для записи CD/DVD, позволяющее манипулировать служебными областями диска по своему усмотрению. Вы можете использовать Clone CD. CDRWin, Alcohol 120% или любую другую аналогичную утилиту по своему выбору. Однако весь последующий материал относится исключительно к Clone CD, и при переходе на любую другую программу вы можете столкнуться с теми или иными проблемами. Если вы не уверены, что сможете справиться с ними самостоятельно – используйте Clone CD. Затем, по мере приобретения профессиональных навыков и должного опыта, вы без труда восстановите диск любой из перечисленных выше программ.

□ Средство для работы с диском на сектором уровне – утилита, позволяющая прочесть любой заданный сектор (конечно, при условии, что он вообще читается приводом) и не пытающаяся пропустить те сектора, в которых, по ее самоуверенному мнению, ничего интересного все равно нет. Копировщики защищенных дисков, перечисленные выше, для этой цели не подходят, так как отказываются читать "бесполезные" с их точки зрения сектора. Может быть, другие копировщики ведут себя и иначе – не знаю, не проверял. Вместо этого необходимую для работы утилиту я написал самостоятельно.

Прежде чем начинать экспериментировать, давайте разберемся, почему после очистки диск перестает читаться. Вопрос не так уж глуп, как кажется, – ведь информация, необходимая для позиционирования головки и поиска конкретных секторов при быстрой очистке диска, остается нетронутой! Управляющие данные "размазаны" вдоль всей спиральной дорожки, и для чтения диска на секторном уровне TOC в, общем-то, и не требуется. Да, отсутствие TOC значительно усложняет анализ геометрии диска, и для определения количества треков/сессий диска, в общем случае, привод должен прочитать весь этот диск целиком. Однако при восстановлении информации фактор времени играет второстепенную роль, и им можно полностью пренебречь.

Тем не менее, при попытке чтения любого из секторов очищенного диска привод с неизменным упорством возвращает ошибку. Почему? Очень просто – это "защита" от чтения заведомо некорректной информации. Еще ни один из всех знакомых мне приводов не мог читать сектора за пределами области Lead-out (собственно, на программном уровне содержимое областей Lead-in/Lead-out тоже недоступно). Тем не менее, эта невозможность отнюдь не носит концептуального характера, и удаление из микропрограммы привода "лишних" проверок позволяет прочитать такой диск "на ура". Нет, не подумайте! Призывать вас к дизассемблированию прошивок я не собираюсь. Дело это сложное, трудоемкое, да к тому же еще и небезопасное. Неверно модифицированная прошивка может угробить привод без малейшей надежды на его восстановление. Нет, уж лучше мы пойдем другим путем!

Предлагаемая мною идея восстановления информации в общих чертах сводится к записи на диск фиктивного TOC, адреса областей Lead-in и Lead-out которого указывают на первый и последней сектор диска соответственно. При этом стартовый адрес первого трека точно совпадает с концом области pre-gap, которая по стандарту должна занимать не менее 150 секторов (или 2 секунд в пересчете на абсолютные адреса). После этой нехитрой операции привод будет послушно читать оригинальное содержимое очищенного диска. Разумеется, произойдет это только при условии, что мы ухитримся настроить записывающую программу, чтобы она, после записи фиктивного TOC, никоим образом не пыталась интерпретировать подсунутые ему указатели на области Lead-in/Lead-out как указание "выжечь" всю поверхность диска целиком.

Проверка показывает, что Clone CD вообще не записывает такое оглавление на диск, сообщая о несоответствии размеров диска и образа файла. Alcohol 120% выполняет это указание без лишних препирательств, но совсем не так, как требовалось. Забив весь восстанавливаемый диск непонятно откуда взятым мусором, программа авторитетно сообщает, что в процессе записи произошли ошибки и, возможно, вам следует убедиться в исправности оборудования.

Хорошо, зайдем с другой стороны. Запишем на диск один реальный трек, занимающий минимально возможное количество секторов (по стандарту – 300, но некоторые проводы вполне удовлетворяются и меньшими значениями), но расширим его pre-gap с двух секунд на... весь диск! В результате мы потеряем лишь 300 последних секторов, но получим доступ ко всему остальному содержимому. Учитывая, что на диске этих секторов насчитывается немногим более 300 тысяч, нетрудно подсчитать, что процент успешно восстановленной информации составляет, по меньшей мере, 99,999% емкости всего диска. Это при том условии, что исходный диск был заполнен целиком, что на практике встречается редко. Если же это вас не удовлетворяет, то разрабатывайте свои программы, корректно записывающие фиктивное оглавление, но ничего не делающие сверх этого. В любом случае область Lead-in записывает сам привод, ну а без Lead-out при аккуратном обращении с диском, в принципе, можно и обойтись. Главное здесь – корректно работать с секторами, находящимися за пределами диска, иначе поведение привода станет трудно предсказуемым. Стоит, правда, отметить, что с восстановлением полностью забитых дисков я еще не сталкивался. Во всяком случае, пока.

Процедура восстановления состоит из трех частей: подготовки исходного образа трека с нормальным pre-gap, увеличения pre-gap до размеров целого диска и записи исправленного образа на восстанавливаемый диск. Первые два этапа достаточно выполнить всего один раз, так как полученный образ (далее мы будем называть его "лечебным") может использоваться для всех дисков. Маленькое уточнение – для всех дисков той же самой емкости, что и восстанавливаемый, ведь по понятным соображениям вы не сможете корректно восстановить 23-минутный диск с помощью образа, предназначенного для 80-минутного диска и, соответственно, наоборот.

Для начала возьмем чистый диск CD-RW. Здесь понятие "чистый" не означает "ни разу не записанный". Под "чистым" диском будем понимать носитель CD-RW, очищенный быстрой или полной очисткой. Кроме того, так же для этих целей подойдет и носитель CD-R. Используя любую утилиту для штатного "прожига", запишем на него один крошечный файл, "весящий" не более 500 килобайт (более тяжелый файл просто не уместится в запланированные 300 секторов). Выполнять финализацию диска не нужно.

Запустим Clone CD (Alcohol 120%) и снимем образ диска. Спустя минуту– другую, на винчестере образуются два файла: file name.img и file name.ccd. Если вы дали Clone CD указание сохранять и субканальную информацию, то образуется третий файл – file name.sub. Поскольку субканальная информация в данном случае будет только мешать, опцию чтение субканалов из треков с данными лучше всего отключить. Кроме того, можно просто удалить file name.sub с диска; так же нам не нужен "Cue-Sheet", который Clone CD предлагает создавать для совместимости с другими программами, конкретно – с CDRWin.

Открыв файл file name.ccd любым текстовым редактором (например, "Блокнотом"), выполните в нем поиск по ключевым словам Point=0xa2 и Point=0x01. Результаты поиска приведены в листинге 10.2.

Листинг 10.2. Оригинальный стартовый адрес Lead-Out (слева) и стартовый адрес первого трека диска (справа)

[Entry 2]     [Entry 3]

Session=1     Session=1

Point=0xa2    Point=0x01

ADR=0x01      ADR=0x01

Control=0x04  Control=0x04

TrackNo=0     TrackNo=0

AMin=0        AMin=0

ASec=0        ASec=0

AFrame=0      AFrame=0

ALBA=-150     ALBA=-150

Zero=0        Zero=0

PMin=0        PMin=0

PSec=29       PSec=1

PFrame=33     PFrame=0

PLBA=2058     PLBA=0

Изменим поля PMin:PSec:PFrame, принадлежащие point 0xa2, так, чтобы они указывали на самый конец диска (0xa2 – это и есть Lead-Out). Измененный Lead-Out может выглядеть, например, так: 74:30:00. Адрес Lead-Out следует выбирать с тем расчетом, чтобы между ним и внешней кромкой диска остался, по меньшей мере, 30-секундный зазор. Еще лучше, если ширина Lead-Out составит примерно полторы минуты. Однако в этом случае будут неизбежно теряться последние треки восстанавливаемого диска (если, конечно, вам действительно требуется их восстановить).

К содержимому полей PMin:PSec:PFrame, принадлежащих point 0x01 (стартовый адрес первого трека), необходимо добавить ту же самую величину, которую вы добавили к соответствующим полям Lead-Out. Отредактированный вариант может выглядеть, например, так: 74:01:42 (74:30:00 /* новый адрес Lead-out */ – 00:29:33 /* старый Lead-Out */ + 00:01:00 /* старый стартовый адрес первого трека */ == 74:01:42 /* новый стартовый адрес */). Короче говоря, новая версия файла ccd должна выглядеть так, как показано в листинге 10.3.

Листинг 10.3. Ключевой фрагмент "реаниматора" 75-минутных CD-RW-дисков

[Entry 2]     [Entry 3]

Session=1     Session=1

PMin=74       PMin=74

...           ...

PSec=30       PSec=01

PFrame=00     PFrame=42

Вообще-то для приличия следовало бы скорректировать и поля PLBA. Адрес LBA связан с абсолютным адресом следующим соотношением: LBA == ((Min*60) + sec)*75 + Frame, однако текущие версии работают исключительно с абсолютными адресами и игнорируют адреса LBA. Теперь все, что находится между концом области Lead-in и началом первого сектора, будет называться pre-gap. При "прожиге" диска область pre-gap останется нетронутой и позже может быть прочитана на секторном уровне, что нам как раз и требовалось. Сказать по чести, чрезмерное увеличение pre-gap первого трека – не самая лучшая идея, так как не все приводы способны читать такой "жирный" pre-gap. С точки зрения совместимости было бы лучше увеличивать pre-gap второго трека, однако при этом первый трек придется располагать в самом начале диска, и его тело неизбежно затрет восстанавливаемые сектора. И хотя это – не такая уж большая проблема, так как в первых секторах диска все равно ничего ценного нет, к такой мере без особой необходимости все же лучше не прибегать. На крайний случай действуйте так: запишите на диск две сессии, и вместо стартового адреса point 0x01 меняйте стартовый адрес point 0x02 (он будет находиться в разделе session=2).

Теперь наскоро очистим наш подопытный диск, и до предела заполним его какими-нибудь файлами.

Совет

Предпочтительнее всего использовать текстовые файлы, так как в этом случае будет сразу видно, что извлекается с восстановленного диска – мусор или полезная информация.

Записав файлы на диск, тут же выполним его быструю очистку. Убедившись, что диск действительно очищен, и его содержимое уже недоступно, запустим Clone CD и запишем на очищенный диск только что созданный нами "лечебный" образ. Запись должна проводиться в режиме DAO, иначе ничего хорошего у вас не получится.

Совет

Прежде чем восстанавливать сколько-нибудь ценный диск на еще неизвестном вам приводе, попробуйте провести эксперимент на диске, не содержащем ничего интересного.

Вот, наконец, мы держим в руках свежевосстановленный диск. Но действительно ли он восстановлен? А вот сейчас и убедимся! Вставляем "воскресшего из пепла" в привод NEC и с замиранием сердца пробуем прочитать один из наугад взятых секторов из середины диска (начальные сектора обычно содержат нули, потом – файловую систему, и их очень легко принять за бессмысленный мусор). О чудо!!! Оригинальное содержимое очищенного диска читается, как ни в чем не бывало. Правда, при попытке прочесть оглавление диска средствами операционной системы привод может впасть в задумчивость, граничащую с полным зависанием (ведь стартовый адрес первого трека расположен не в начале диска, а совсем в другом месте), но это все ерунда! Главное, что на секторном уроне диск все-таки доступен, пусть и не на всех приводах. Так, в частности, ASUS вообще отказывается читать такой диск, возвращая ошибку, a PHILIPS читает сплошной мусор. К счастью, этот мусор можно восстановить, – достаточно на битовом уровне выполнить EFM-перекодировку с более "правильной" позиции. Поскольку возможных позиций всего 14, перебор обещает не затягиваться на длительное время. Тем не менее, лучше всего будет просто приобрести более качественный привод.

Остается лишь привести диск в состояние, пригодное для работы с ним, средствами операционной системы. Последовательно читая все сектора диска один за другим, мы будем собирать их в один img-файл, для определенности именуемый recover.img. Сектора, которые не удалось прочитать даже с нескольких попыток, мы будем просто пропускать. Теперь скопируем "лечебный" ccd-файл в recover.ccd и вернем стартовый адрес первого трека на прежнее место. Запишем сформированный образ на новый диск. Теперь, если все было сделано правильно, любой привод должен корректно читать созданный диск. Сеанс демонстрационного восстановления окончен, и мы, освоившись с этой технологией, можем приниматься за вещи куда более серьезные. Например, откроем собственную компанию по восстановлению очищенных дисков. Шутка! Хотя… почему бы и нет?


    Ваша оценка произведения:

Популярные книги за неделю