Как мне написать программу, которая может восстанавливать файлы в FAT32?
Как я могу написать программу, которая может восстанавливать файлы в FAT32
Ответы (3)
Это довольно сложно, но FAT32 очень хорошо задокументирован:
Однажды я написал инструмент для прямого доступа к FAT32, используя только эти ресурсы:
Но я никогда не пытался восстановить файлы. Успешное восстановление файла зависит от нескольких факторов:
- Файл должен физически «существовать» на жестком диске.
- Вы должны знать, где начинается файл
- Вы должны знать, что ищете (Заголовки..)
Это зависит от того, что случилось с файлами, которые вы пытаетесь восстановить. Данные могут быть все еще в разделе или уже могут быть перезаписаны. Есть много готовых решений. Простой поиск в Google должен дать вам множество программ, которые могут попытаться восстановить данные, но нет 100% уверенности в том, что они вернутся. Если вы действительно хотите восстановить их самостоятельно, вам нужно будет написать что-нибудь для чтения необработанного раздела и игнорировать маркеры отсутствующих файлов.
вот программа (написанная Томасом Темпельманом. Этот замечательный парень), которая может вам помочь . Вы можете сделать копию раздела, игнорируя поврежденные биты, а затем работать с копией, чтобы ничего не испортить, и вы также можете восстановить данные непосредственно с нее.
Я думаю, вы имеете в виду вырезание данных, то есть чтение физического устройства и восстановление ранее несвязанных файлов на основе некоторых знаний (например, когда вы найдете две буквы, PK, это весьма вероятно, чем zip-архив). далее то же самое для JFIF для JPEG).
В таком случае предлагаю вам изучить исходный код PhotoRec отличного (на мой взгляд, лучшего) Инструмент с открытым исходным кодом для вырезания данных.