Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМСС / HDD_1 / RECOVER.doc
Скачиваний:
16
Добавлен:
10.12.2013
Размер:
386.05 Кб
Скачать

Просмотр каталогов

Для просмотра каталогов с целью проверки их структуры мы воспользуемся программой DISKEDIT. Запустите эту программу, и из меню Object выберите строку Directory. На экране появится диалоговая панель Change Directory.

В левой части диалоговой панели отображается дерево каталогов текущего диска. Выберите в нем корневой каталог C:\ и нажмите кнопку OK. После этого на экране появится содержимое корневого каталога в форматированном виде (рис. 8).

Рис. 8. Просмотр первой копии таблицы размещения FAT в отформатированном виде

Анализируя полученную информацию, Вы можете обнаружить подозрительные изменения в полях размера файла, даты и времени. Кроме того, для каждого файла в столбце Cluster отображается номер распределенного ему первого кластера.

С помощью меню View можно переключиться в режим неформатированного просмотра, когда содержимое каталога отображается в виде дампа.

Обратите внимание на меню Link. С помощью этого меню Вы можете переходить к просмотру логически связанных между собой структур файловой системы.

В качестве упражнения выделите в корневом каталоге диска C: файл IO.SYS и затем выберите из меню Link строку Cluster chain (FAT). Вы увидите первую копию таблицы размещения файлов FAT, причем цепочка кластеров, выделенная файлу IO.SYS, будет выделена цветом. С помощью строки File меню Link нетрудно перейти в режим просмотра содержимого файла IO.SYS.

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

На что следует обратить внимание при проверке структуры каталогов?

Кроме визуальной проверки полей расположенных там дескрипторов следует просмотреть весь каталог до конца. Необходимо убедиться, что в каталоге отсутствуют посторонние данные. Они могут быть записаны туда вирусом.

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

В том случае, когда каталог поврежден полностью или частично, ссылки на описанные в нем файлы будут потеряны. Если Вы найдете тем или иным способом секторы, содержащие нужный Вам файл с разрушенным дескриптором, то, пользуясь описанной ниже методикой, сможете восстановить дескриптор и получить доступ к файлу.

Каталоги в файловой системе vfat

Восстанавливая файловую систему FAT компьютера с операционной системой Microsoft Windows 95/98/NT/2000, следует соблюдать осторожность, так как структура каталогов в ней отличается от той, что была описана выше.

Как Вы, возможно, знаете, пользователи Microsoft Windows 95/98 не слишком скованы ограничениями на длину имен файлов и каталогов. И хотя теоретически такое ограничение существует (255 символов), оно не имеет существенного значения.

Создавая новую операционную систему, программисты Microsoft нашли остроумное решение проблемы совместимости с программами MS-DOS, использующими имена в "формате 8.3" (8 символов - имя файла или каталога, 3 - расширение имени).

Это решение заключается в том, что в каталогах наряду с обычными дескрипторами располагаются дескрипторы специального вида. Количество таких дескрипторов зависит от длины имени файла или каталога. В этих-то дескрипторах и хранится длинное имя. Специально для программ MS-DOS создается обычный дескриптор, содержащий альтернативное имя, отвечающее стандартам MS-DOS.

Новая файловая система получила название VFAT.

Взгляните на рис. 9. На этом рисунке показана структура каталога, созданного в файловой системе Microsoft Windows 98.

 

Рис. 9. Расширенные и альтернативные дескрипторы длинных имен в корневом каталоге

Обратите внимание на три дескриптора, расположенных под дескриптором файла IO.SYS. Это и есть специальные расширенные дескрипторы, хранящие информацию о длинных именах в кодировке UNICODE (в этой кодировке каждый символ представлен двумя байтами). В данном случае в расширенных дескрипторах хранится имя каталога DesignWorkshop Lite Installer.

Для того чтобы специальные дескрипторы не мешали работе программ MS-DOS, в них установлены атрибуты Read Only, System, Hidden и Volume Label. Обычные программы MS-DOS игнорируют элементы каталога с таким экзотическим набором атрибутов.

Специальный дескриптор отмечается новой версией программы DISKEDIT как LFN (Long File Name) и ссылается на кластер с номером 0. Настоящий номер первого кластера, распределенного файлу или каталогу, находится в стандартном дескрипторе, расположенном непосредственно вслед за расширенным дескриптором. В данном случае это дескриптор каталога с названием DISIGN~1, расположенный в кластере с номером 1274.

Если имя файла или каталога превышает 8 символов, стандартный дескриптор, расположенный после расширенных, содержит альтернативное имя, состоящее из начальных символов имени, символа ~ (тильда) и десятичного числа. Этот дескриптор называется альтернативным.

Операционная система Microsoft Windows NT/2000 также создает расширенные и альтернативные дескрипторы в разделах FAT.

При помощи строки More главного меню программы DISKEDIT можно просмотреть или отредактировать остальные поля специальных дескрипторов.

Например, дата и время создания файла находятся, соответственно, в полях Create Date и Create Time. Дополнительно операционная система Microsoft Windows 95/98 фиксирует дату последнего обращения к файлу. Эту дату Вы можете увидеть в поле Accessed.

Поле EA содержит признак расширенных атрибутов и имеет нулевое значение для стандартных атрибутов.

Если имя настолько длинное, что не помещается в одном специальном дескрипторе, создается несколько таких дескрипторов, расположенных друг за другом. Следом за ними идет альтернативный дескриптор. В поле Ordinal находится порядковый номер специального дескриптора. Для последнего специального дескриптора в поле Last находится отметка Yes.

Для тех, кто интересуется точным форматом стандартных и расширенных дескрипторов VFAT, мы привели фрагмент исходных текстов программы CrashUndo 2000. Это объединение двух структур, первая из которых соответствует стандартному дескриптору, а вторая - расширенному:

typedef union _FAT_DIR_ENTRY { struct _DIR { BYTE dir_Name[8]; // имя BYTE dir_Extension[3]; // расширение имени BYTE dir_Attributes; // атрибуты BYTE dir_NTReserved; // зарезервировано для Windows NT BYTE dir_CreateTimeTenth; // десятые доли времени создания UINT16 dir_CreateTime; // время создания UINT16 dir_CreateDate; // дата создания UINT16 dir_LastAccessDate; // дата последнего доступа UINT16 dir_FirstClusterHi; // старшее слово номера кластера UINT16 dir_WriteTime; // время обновления UINT16 dir_WriteDate; // дата обновления UINT16 dir_FirstClusterLo; // младшее слово номера кластера UINT32 dir_FileSize; // размер файла } dir;

struct _LFN { BYTE lfn_Sequence; // номер дескриптора WCHAR lfn_Name1[5]; // первая часть имени BYTE lfn_Attributes; // атрибуты BYTE lfn_LongEntryType; // признак расширенного атрибута BYTE lfn_Checksum; // контрольная сумма имени WCHAR lfn_Name2[6]; // вторая часть имени UINT16 lfn_Reserved; // зарезервировано WCHAR lfn_Name3[2]; // третья часть имени } lfn; } FAT_DIR_ENTRY, *PFAT_DIR_ENTRY;

Обратите внимание, что для хранения номера первого кластера, распределенного файлу или каталогу, используется два 16-разрядных поля dir_FirstClusterHi и dir_FirstClusterLo.

Что же касается таблицы размещения файлов FAT, то хотя в операционной системе Microsoft Windows 95/98 она и называется виртуальной таблицей размещения файлов Virtual File Allocation Table (VFAT), ее формат остался прежним. Это сделано для совместимости с программами MS-DOS. Сохранились форматы и других логических блоков файловой системы, таких как таблица разделов диска, таблица логических дисков, загрузочная запись и расширенный блок параметров BIOS Extended BPB.

Заметим, что для восстановления файловой системы Microsoft Windows 95/98 нельзя использовать старые версии пакета Norton Utilities, так как они ничего не знают о расширенных и альтернативных дескрипторах.

Соседние файлы в папке HDD_1