Я пытаюсь найти удаленные inode в файловой системе ext2. И это подход, который я использую. Однако я чувствую, что делаю что-то не так.
Я сначала ищу 1024 байта до начала суперблока
Я узнал, что размер блока составляет 1024 байта, поэтому таблица дескрипторов группы начинается со смещения 2048.
Таблица дескрипторов группы имеет дескриптор группы для каждой группы блоков, верно? Поэтому я вычисляю количество дескрипторов групп или групп блоков: общее количество inode / inode на группу. Это дает мне значение 8, что означает, что у меня есть 8 дескрипторов групп в моей таблице дескрипторов групп блоков.
Я прочитал поле first_inode_table для всех 8 дескрипторов группы. Дескрипторы группы имеют длину 32 байта
Так вот где я запутался. Таблица inode для дескриптора первой группы дает мне 260. Значит ли это, что для доступа к таблице inode для первой группы блоков я делаю 260 * размера блока?
Добравшись туда, я читаю поле dtime, которое сообщает нам последнее удаленное время. Если это> 0, это означает, что он был удален.
Итак, еще одна путаница, которую я имею, заключается в том, что говорится, что первые 11 записей таблицы inode зарезервированы. Так что это не должно быть проблемой, пока я просматриваю все записи inode таблицы inode, верно?
Правильный ли мой подход? Пожалуйста, укажите мне правильное направление, если вы видите что-то не так.
источник