Это не так сложно, как вы думаете.Вы должны понимать, как файлы хранятся в FAT32 и NTFS.Я рекомендую использовать winhex - приложение, используемое для цифровой криминалистики, для проверки правильности вычислений адресов.
Т.е. NTFS использует записи файла с основными данными для хранения данных файла в кластерах.Unlink удаляет файл в c, но если вы посмотрите на исходный код, все, что он делает, это удаляет запись из таблицы и обновляет записи.Используйте приложение, такое как winhex, чтобы прочитать информацию об основной записи файла.Вот некоторая полезная информация.
Основная загрузочная запись - сектор 0 Hex 0x55AA - конец MBR.Далее будет mft. Имя файла - mft header.Существует флаг для обозначения папки или файла (не уверен, где).Флаг расположения файла указывает, помечен ли файл как удаленный.Вам нужно будет изменить этот флаг, если вы хотите восстановить удаленный файл.Вам нужен размер и количество кластеров, а также номер кластера, с которого ваши данные начинают вычислять начальный адрес, если вы хотите получить доступ к данным из таблицы основного файла.
Не уверен в FAT32, но просто используйте тот жеподход.21 полезное видео на YouTube объясняет, как использовать winhex для доступа к данным удаленных файлов в NTFS.Не уверен, что видео, а просто введите в Winhex Digital Forensics восстановить удаленный файл.Как только вы посмотрите это видео, оно станет намного понятнее.удачи
Только что посмотрел 21-минутное видео на YouTube о том, как восстановить файлы, удаленные в NTFS, с помощью winhex.Не забудьте флаг резидента, который указывает, является ли файл резидентным или нет.Это дает некоторое представление о том, как файл хранится либо в кластерах, либо в разделе данных mft, если он маленький.Это может потребоваться, если вы хотите получить доступ к удаленным данным.Это видео идеально подходит для начала, поскольку оно содержит все байтовые позиции смещения для доступа к большей части необходимой информации относительно начала записи файла.Он даже показывает, как выполнить расчет адреса для начала кластера.Вам нужно будет получить доступ к таблице в двоичном формате, используя указатель и добавляя смещения к указателю, чтобы получить доступ к необходимой информации.Единственный способ сделать это - просмотреть всю таблицу и выполнить двоичное сравнение байта имени файла для байта.В некоторых полях мало написано, поэтому убедитесь, что у вас есть winhex для проверки вычислений адресов.