C2 типа раздела 0x. B, означающее, что на данный момент на USB накопителе есть раздел FAT3. Рабочая Программа Истоки 6 Класс. DWORD по смещению 0x. C6, длиной 0x. 00. C2. 00. 0 секторов DWORD по смещению 0x. CA. Переходим к boot сектору описанного раздела в сектор 0x. Необходимо вычислить начальную точку отсчета, то есть место нулевого кластера, относительно которого рассчитывается пространство, а также определить размер кластера. Для этого нам нужны следующие параметры, описанные в boot секторе будут указаны в виде смещения от начала сектора размер сектора по смещению 0x. B 0x. 20. 0 5. D 0x. FAT по смещению 0x. E0x. 01. FE 5. 10 секторов, количество копий FAT по смещению 0x. FAT по смещению 0x. F0. 1 3. 84. 1 секторов. Используя полученные параметры, произведем расчет положения начала области данных 0x. FE. 000x. 00. 00. F0. 12. 000x. Небольшой подвох от создателей FAT3. FAT3. 2, но оно не является нулевой точкой отсчета, так как первые две записи в FAT таблице зарезервированы и не используются по прямому назначению, в связи с чем нулевой точкой принимается начало области данных за минусом 2 кластеров. В данном случае это будет 0x. E0. 00 8. 31. 8 сектор. Выполним проверку на предмет отсутствия записей в таблице размещения файлов и проведем процедуру сравнения копий на предмет разночтений. Рис. 4. Сравнение копий FAT показало, что разночтения отсутствуют. Анализ содержимого одной из копий FAT показал, что согласно таблицы на разделе заполнен только один кластер. Далее необходимо оценить корневой каталог на предмет удаленных записей. Позиция первого кластера корневого каталога указывается в boot сектор по смещению 0x. C0x. 00. 00. 00. Для второго кластера в FAT указано FF FF FF 0. F, что означает конец цепочки, то есть корневой каталог состоит из одного кластера. По адресу, рассчитанному выше, мы видим корневую директорию корневой каталог, в которой содержится единственная 3. По смещению 0x. 0B мы видим значение 0x. Тот факт, что таблицы размещения файлов заполнены нулями, и в корневом каталоге нет намека на какие либо иные записи, говорит о том, что данный раздел был отформатирован. Для проверки предположения о том, что раздел не пересоздавался и все параметры файловой системы корректны, необходимо произвести поиск регулярного выражения 0x. E 0x. 2E 0x. 20 0x. FAT3. 2. рис. 6. При нахождении регулярного выражения необходимо удостовериться, что это действительно директория, по иным признакам, так как в некоторых случаях возможно совпадение и найденное регулярное выражение не является элементом директории. Согласно информации на рис. DWORD содержится в WORD по смещению 0x. A младшая часть и WORD по смещению 0x. A и 0x. 34 содержатся нули начальный кластер родительской директории. Проверим, соответствует ли номер кластера данной директории нулевой точке отсчета файловой системы, созданной после форматирования. Для этого номер кластера директории умножим на размер текущего кластера и прибавим к нулевой точке 0x. E0. 000x. 41. 10. Как видим, расчетный адрес соответствует фактическому нахождению. Установить имя данной директории возможно только в случае, если ранее корневой каталог состоял более, чем из одного кластера, и ссылка на данную директорию была не в первом кластере, так как содержимое первого кластера при форматировании было полностью уничтожено вместе с таблицами размещения файлов. Далее продолжим поиск регулярного выражения 0x. E 0x. 2E 0x. 20 0x. Повторяем все проверки 0x. E0. 000x. 41. 20. Снова видим соответствие положения директории параметрам текущей файловой системы. Но, кроме этого, видим, что есть номер кластера родительской директории 0x. Итак, согласно рис. B видим значение 0x. A и 0x. 54 число 0x. По смещению 0x. 40 имя директории BIN. Именно таким образом устанавливается взаимосвязь директорий в поврежденном FAT разделе. После выполнения еще некоторого числа проверок директорий в разных участках образа можно сделать окончательный вывод о том, что на данном накопителе состоялось форматирование в границах предшествующей файловой системы и параметры вновь созданной файловой системы унаследованы от предыдущей, то есть дальнейшие аналитические операции нужно проводить в рамках раздела, описанного в таблице разделов с учетом параметров текущей файловой системы. Зная, что 1. С база, состоящая из DBF файлов, должна содержать файл конфигурации 1. CV7. MD, выполним поиск последовательности 0x. D 0x. 44. Для того, чтобы уменьшить количество заведомо ложных результатов, поиск лучше выполнять в рамках 3. Таким образом, находим все директории, содержащие в себе указатель на файл 1. CV7. MD. В нашем случае обнаружилась только одна такая директория, что позволяет предполагать, что мы нашли первый кластер необходимой директории. Далее следует анализ положения родительских директорий, вплоть до корневой директории. Каждая найденная директория прописывается в таблицу FAT сначала как директория из одного кластера, посредством записи FF FF FF 0. F для соответствующего элемента таблицы. Также в корневой директории прописывается ссылка на дочерний объект. На текущем этапе мы выполним копирование найденных файлов с предположением об их непрерывности, так как обе копии FAT не содержат информации о фрагментации напомним, что они были безвозвратно уничтожены системным администратором в результате необдуманного форматирования USB flash. После копирования директории 1. С базы анализируем количество файлов. Учитывая, что фрагмент директории был размером в один кластер, то извлекли мы не более 1. DBF и CDX файлами, относящимися к 1.