Завантажувальний сектор, FSINFO, таблиця FAT та записи каталогів файлової системи FAT
Читайтепро системні структури файлової системи FAT: завантажувальний сектор, FSINFO, таблиця FAT та записи каталогів. Опис, розмірність полів та інтерпретація Процес пошуку віддалених файлів складається з виявлення та інтерпретації вмісту диска. Цією статтею ми відкриємо цикл, де розповімо, як знайти і правильно «прочитати» системну інформацію. Існує чотири версії FAT - FAT8, FAT12, FAT16 та FAT32. Ми проведемо аналіз FAT32 диску, розташованого на SD-карті пам'яті фотоапарата.

Логічний диск під управління FAT32 можна розділити на 3 логічні частини, які йдуть послідовно один за одним:
- Зарезервована область;
- Область FAT;
- Область даних (містить кореневий каталог та вміст файлів);
Рис.1Фізична структура FAT.
Система FAT дуже проста і умовно в ній можна виділити 4 структури:
Завантажувальний сектор
Завантажувальний сектор займає 1 сектор (найчастіше 512 байт) і знаходиться в першому секторі. Давайте розглянемо докладніше його вміст.
Таб.1Структура завантажувального сектора FAT.
Інформація із завантажувального сектора відіграє основну роль у відновленні віддалених файлів, тому його виявлення є надзвичайно важливим.
Структура FSINFO
Посилання початку структури зберігається у завантажувальному секторі, розмір становить 1 сектор (зазвичай 512 байт). FAT використовує FSINFO для алгоритму виділення вільних секторів дисків.
Таб.2Структура даних FSINFO.
Оскільки FSINFO може не оновлюватися і всі поля не обов'язкові, спиратися на неї для вилучення даних ми не можемо.
Таблиця FAT
Файлова системаможе мати кілька копій цієї таблиці, точну кількість таблиць та їх розмір вказано у завантажувальному секторі. Зазвичай використовується 2 копії, що повністю дублюють одна одну. Вони розташовуються послідовно, одна за одною, і мають стільки записів, скільки кластерів на диску.
У FAT32 структура складається із записів розміром 4 байти. Кожен запис відповідає кластеру на логічному диску і може приймати такі значення:
- 0x000 0000- якщо кластер вільний;
- 0x0fff fff7- якщо кластер пошкоджений і не повинен виділятися;
- 0x0fff fff8– якщо кластер завершує файл чи каталог;
- 0x000 0001 … 0x0fff fff6– покажчик на наступний кластер, який займає файл або каталог.
Читання та аналіз основної таблиці FAT та її копій дозволяють з'ясувати, у яких кластерах зберігається вміст потрібного файла.
Записи каталогів
Записи каталогів містять ім'я, атрибути файлів та каталогів, а також час створення, останнього доступу та редагування об'єктів. Ця інформація зберігається в кластерах, виділених батьківському каталогу, посилання на який можна отримати із завантажувального сектора.
Базова структура (Simple File Name) підтримує лише короткі імена файлів (8 символів – ім'я та 3 символи – розширення). Для підтримки довгих імен файлів на додаток до базового запису створюються додаткові структури (Long File Name). Записи LFN мають розмір 32 байти і передують базовому запису.