Осторожно компьютерные вирусы

Поиск с помощью программы DISKEDIT


По сревнению с описанной в предыдущем разделе программой Find File программа DISKEDIT.EXE предоставляет намного больше возможностей для поиска файлов, а также различных структур файловой системы.

Обратите внимание на меню Tools программы DISKEDIT.EXE (рис. 6.38).

Рис. 6.38. Меню Tools программы DISKEDIT.EXE открывает доступ к набору инструментальных средств для работы с файловой системой

Если выбрать из этого меню строку Find, на экране появится диалоговая панель, показанная на рис. 6.39.

Рис. 6.39. Диалоговая панель Enter search text, предоставляющая широкие возможности контекстного поиска

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

Строка Find Object позволяет выполнить поиск различных структур файловой системы. Если выбрать эту строку, на экране появится меню второго уровня, показанное на рис. 6.40.

Рис. 6.40. Меню, с помощью которого можно выполнить поиск служебных структур файловой системы

Попробуйте все это в действии. Для этого откройте меню Object и выберите из него строку Physical Sector. Затем укажите самый первый сектор, расположенный на нулевой дорожке. Этот сектор должен содержать главную загрузочную запись MBR. Перейдите в режим неформатированного просмотра, выбрав из меню View строку as Hex.

Теперь выберите из меню Tools строку Find Object и затем строку FAT. Программа DISKEDIT.EXE выполнит поиск первой копии таблицы размещения файлов FAT и отображит ее дамп, выделив в этом дампе первые три байта, как это показано на рис. 6.41.



Рис. 6.41. Программа DISKEDIT.EXE нашла первую копию таблицы размещения файлов FAT

Если теперь сместить текстовый курсор вниз или нажать клавишу <PgDn>, а затем выбрать из меню Tools/Find Object строку FAT еще раз, будет найдена вторая копия таблицы размещения файлов FAT.


Учтите, что поиск таблиц FAT в данном случае сводится к поиску последовательности байт F8 FF FF, поэтому выполнив поиск в третий раз, вы сможете найти еще одну, ненастоящую “таблицу FAT”. Дело в том, что наверняка на диске найдется какой-нибудь файл, содержащий указанную выше последовательность байт, поэтому будьте внимательны.

Если взглянув на главную загрузочную запись вы увидели, что таблица разделов разрушена или зашифрована, можно выполнить контекстный поиск секторов загрузочных записей, содержащих блоки параметров BIOS BPB. Проще всего это сделать, если после просмотра главной загрузочной записи по ее физическому адресу и перехода к следующему сектору диска выбрать из меню Tools/Find Object строку Partition/Boot.

Программа DISKEDIT.EXE найдет сектор, содержащий в конце последовательность байт 55 AA, которая соответствует сигнатуре загрузочного сектора 0AA55h (рис. 6.42).



Рис. 6.42. Найден загрузочный сектор

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

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

Так как в процессе поиска программа DISKEDIT.EXE проверяет только последние два байта сектора, возможны ложные срабатывания. На рис. 6.43 показана как раз такая ситуация.



Рис. 6.43.


При поиске загрузочного сектора найден сектор, содержащий нужную сигнатуру, который однако, не является загрузочным

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

Теперь займамся поиском каталогов, на которые нет ссылок из других каталогов (т. е. потерянных каталогов).

Для поиска вы можете воспользоваться строкой Subdirectory меню Tools/Find Object. Программа DISKEDIT.EXE просматривает секторы диска в поисках такого, в начале которого находится последовательность байт 2E 20 20 20 20 20 20 20 20 20 20 (рис. 6.44). Эта последовательность соответствует дескриптору, который содержит ссылку каталога на себя самого.



Рис. 6.44. Найден сектор, принадлежащий каталогу

Нажимая комбинацию клавиш <Control+G>, вы можете продолжить поиск нужного вам каталога, пока не найдете тот, что содержит интересующие вас файлы. Можно выполнять поиск и по имени файла, если вы его знаете.

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

Для поиска номера кластера, соответсвующего найденному каталогу, перейдите в режим форматированного просмотра каталога, выбрав из меню View строку as Directory. Затем из меню Link выберите стоку Cluster chain (fat). На экране появится содержимое таблицы FAT в режиме форматированного просмотра, при этом искомый номер кластера будет выделен.

Зная номер кластера потерянного каталога, вы можете создать новый дескриптор каталога, например, в корневом каталоге диска, и сделать в этом дескрипторе ссылку на найденный каталог. После этого потерянный каталог вновь станет доступным.

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

Можно предложить следующий алгоритм восстановления файла:

·

выполнить контекстный поиск секторов файла с помощью строки Files из меню Tools, а также последовательным просмотром секторов диска;



·        определить номер кластеров, соответствующего найденным секторам, пользуясь приведенной выше формулой или средствами программы DISKEDIT.EXE;

·        восстановить цепочку номеров кластеров для файла в таблице размещения файлов FAT, отметив в ней последний кластер значением 0FFFFh;

·        создать в любом каталоге (например, в корневом) дескриптор, который описывает файл, указав в нем ссылку на первый кластер восстановленного файла, а также размер этого файла.

Если вы восстанавили файл документа, созданный текстовым процессором Microsoft Word for Windows или процессором таблиц Microsoft Excel, загрузите его в соответсвующее приложение и затем сохраните его под другим именем. При этом будет восстановлена правильная длина файла.

Простой текстовый файл можно загрузить в текстовый редактор и “отрезать” лишние данные в конце файла. Затем сохраните файл под другим именем.


Содержание раздела