Крис Касперски - Восстановление данных. Практическое руководство

Тут можно читать онлайн Крис Касперски - Восстановление данных. Практическое руководство - бесплатно ознакомительный отрывок. Жанр: Все книги в жанре Компьютерное "железо", издательство БХВ-Петербург, год 2006. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Крис Касперски - Восстановление данных. Практическое руководство краткое содержание

Восстановление данных. Практическое руководство - описание и краткое содержание, автор Крис Касперски, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга представляет собой пошаговое руководство по восстановлению поврежденных данных на жестких и оптических дисках. Подробно рассмотрена структура популярных файловых систем: NTFS, ext2/ext3, UFS/FFS и др. Описаны автоматические методы восстановления данных для операционных систем Windows и Linux. Приведены способы ручного восстановления, используемые в случае, когда автоматическое восстановление невозможно. Материал сопровождается большим количеством полезных советов и исчерпывающим справочным материалом. На компакт-диске помешены полезные утилиты и исходные коды, приведенные в книге.

Для пользователей ПК

Восстановление данных. Практическое руководство - читать онлайн бесплатно ознакомительный отрывок

Восстановление данных. Практическое руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Крис Касперски
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

При каких обстоятельствах атрибуты не умещаются в одной файловой записи? Это может произойти в следующих случаях:

□ файл содержит много альтернативных имен или жестких ссылок;

□ файл сильно фрагментирован;

□ файл содержит очень сложный дескриптор безопасности;

□ файл имеет очень много потоков данных (т.е. атрибутов типа $DATA).

Структура атрибута списка атрибутов приведена в табл. 6.8.

Таблица 6.8. Структура атрибута $ATTRIBUTE_LIST

Смещение Размер Описание
- - Стандартный атрибутный заголовок (standard attribute header)
00h 4 Тип (type) атрибута (см. табл. 6.6)
04h 2 Длина записи (record length)
06h 1 Длина имени (name length), или ноль, если нет, условно — N
07h 1 Смещение имени (offset to name), или ноль если нет
08h 8 Начальный виртуальный кластер (starting VCN)
10h 8 Ссылка на базовую/расширенную файловую запись
18h 2 Идентификатор атрибута (attribute ID)
1Ah 2 N Если N>0, то имя в формате UNICODE
$FILE_NAME

Атрибут полного имени файла хранит имя файла в соответствующем пространстве имен. Таких атрибутов у файла может быть и несколько (например, имя Win32 и имя MS-DOS). Здесь же хранятся и жесткие ссылки (hard link), если они есть.

Структура атрибута полного имени приведена в табл. 6.9.

Таблица 6.9. Структура атрибута $FILE_NAME

Смещение Размер Описание
- - Стандартный атрибутный заголовок (standard attribute header)
00h 8 Ссылка (file reference) на материнский каталог
08h 8 C— время создания (creation) файла
10h 8 A— время последнего изменения (altered) файла
18h 8 M— время последнего изменения файловой записи (MFT changed)
20h 8 R— время последнего чтения (read) файла
28h 8 Выделенный размер (allocated size) файла
30h 8 Реальный размер (real size) файла
38h 4 Флаг (см. табл. 6.7)
3Ch 4 Используется HPFS
40h 1 Длина имени в символах — L
41h 1 Пространство имен файла (filename namespace)
42h 2L Имя файла в формате UNICODE без завершающего нуля

Списки отрезков

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

Внутренний формат представления списков не то, чтобы сложен, но простым его тоже на назовешь. Для экономии места длина отрезка и номер начального кластера хранятся в полях переменной длины. Если размер отрезка умещается в байт (т.е. его значение не превышает 255), то он займет один байт. По аналогии, если размер отрезка требует для своего представления двойного слова, то он займет двойное слово.

Сами же поля размеров хранятся в 4-битных ячейках, называемых нибблами (nibble) или полубайтами . Шестнадцатеричная система счисления позволяет легко переводить байты в нибблы и наоборот. Младший ниббл равен ( X & 15), а старший — ( X / 16). Иначе говоря, младший ниббл соответствует младшему шестнадцатеричному разряду байта, а старший — старшему. Например, 69hсостоит из двух нибблов, причем младший равен 9h, а старший — 6h.

Список отрезков представляет собой массив структур, каждая из которых описывает характеристики "своего" отрезка. Структура элемента списка отрезков показана в табл. 6.10. В конце списка находится завершающий ноль. Первый байт структуры состоит из двух нибблов: младший задает длину поля начального кластера отрезка (условно обозначаемого буквой F), а старший — количество кластеров в отрезке ( L). Затем идет поле длины отрезка. В зависимости от значения Lоно может занимать от одного до восьми байт (поля большей длины недопустимы). Первый байт поля стартового кластера файла расположен по смещению 1+Lбайт от начала структуры (что соответствует 2+2*Lнибблам). Кстати говоря, в документации Linux-NTFS Project (версия 0.4) поля размеров начального кластера и количества кластеров в отрезке перепутаны местами.

Таблица 6.10. Структура одного элемента списка отрезков

Смещение в нибблах Размер в нибблах Описание
0 1 Размер поля длины ( L)
1 1 Размер поля начального кластера ( S)
2 2* L Количество кластеров в отрезке
2+2* L 2* S Номер начального кластера отрезка

Покажем, как с этим работать на практике. Предположим, что мы имеем следующий список отрезков, соответствующий нормальному не фрагментированному файлу (что может быть проще!): 21 18 34 56 00. Попробуем его декодировать?

Начнем с первого байта — 21h. Младший полубайт ( 01h) описывает размер поля длины отрезка, старший ( 02h) — размер поля начального кластера. Следующие несколько байт представляют поле длины отрезка, размер которого в данном случае равен одному байту — 18h. Два других байта ( 34h 56h) задают номер начального кластера отрезка. Нулевой байт на конце сигнализирует о том, что это последний отрезок в файле. Таким образом, наш файл состоит из одного-единственного отрезка, начинающегося с кластера 5634hи заканчивающегося кластером 5634h + 18h == 564Ch.

Рассмотрим более сложный пример фрагментированного файла со следующим списком отрезков: 31 38 73 25 34 32 14 01 E5 11 02 31 42 AA 00 03 00. Извлекаем первый байт — 31h. Один байт приходится на поле длины, и три байта — на поле начального кластера. Таким образом, первый отрезок (run 1) начинается с кластера 342573hи продолжается вплоть до кластера 342573h + 38 == 3425ABh. Чтобы найти смещение следующего отрезка в списке, мы складываем размер обоих полей с их начальным смещением: 3 + 1 == 4. Отсчитываем четыре байта от начала списка отрезков и переходим к декодированию следующего отрезка: 32h— два байта на поле длины отрезка (равное в данном случае 0114h) и три байта — на поле номера начального кластера ( 0211E5h). Следовательно, второй отрезок (run 2) начинается с кластера 0211E5hи продолжается вплоть до кластера 0211E5h + 114h == 212F9h. Третий отрезок (run 3): 31h— один байт на поле длины и три байта — на поле начального кластера, равные 42hи 0300AAhсоответственно. Поэтому третий отрезок (run 3) начинается с кластера 0300AAhи продолжается вплоть до кластера 0300AAh + 42h == 300ECh. Завершающий ноль на конце списка отрезков сигнализирует о том, что это последний отрезок в файле.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Крис Касперски читать все книги автора по порядку

Крис Касперски - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Восстановление данных. Практическое руководство, автор: Крис Касперски. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x