реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> FAT16, восстановление удаленного файла., как работает unerase?
subver
сообщение Jan 18 2012, 05:20
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



Всем привет. Задался тут следующим вопросом.
Где хранится информация в системе FAT16 о цепочке кластеров только что удаленного файла?
Начальный кластер понятно - в записи директории. А последующие?
Вопрос возник вот почему - я отформатировал карточку в Windows.
В ней же записал на нее маленький файл. Просмотрел таблицу FAT в программе WinHEX, в ней разумеется присутствует список кластеров этого файла.
Затем я средствами Windows удалил файл, в записи директории в имени файла прописался символ 0xE5, т.е. в соответствии с документацией на FAT16.
Но при этом в таблице FAT(и первой и второй) записи о цепочке кластеров заменились нулями.
При всем при этом WinHEx продолжает успешно показывать цепочку использованных кластеров и позволяет восстановить данные.
Вот и вопрос - где хранится информация о цепочке использованных кластеров удаленного файла? Спасибо )
Go to the top of the page
 
+Quote Post
1113
сообщение Jan 18 2012, 06:00
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



при удалении файлов (пока место есть) цепочки не удаляются, а удаляется указатель на начало этой цепочки из конца предыдущей цепочки, поэтому видя цепочку, даже не включённую в список, восстанавливающая программа предполагает, что это файл и восстанавливает его. и если цепочка не битая, не перезаписанная, восстановление пройдёт успешно.
Go to the top of the page
 
+Quote Post
subver
сообщение Jan 18 2012, 06:15
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



Получается фрагментированный файл нельзя восстановить?
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Jan 18 2012, 06:32
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(subver @ Jan 18 2012, 10:15) *
Получается фрагментированный файл нельзя восстановить?

Почему же. В таблице FAT запись в ячейке указывает на номер следующей ячейки а последняя указатель конца цепочки (номер ячейки в FAT Есть номер кластера). и цепочка записей фрагментированого файла в FAT фрагментирована также. Взяв из каталога адрес первого кластера по цепочке записей в FAT получаем весь список.
Go to the top of the page
 
+Quote Post
subver
сообщение Jan 18 2012, 10:58
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



Цитата(MaslovVG @ Jan 18 2012, 13:32) *
Почему же. В таблице FAT запись в ячейке указывает на номер следующей ячейки а последняя указатель конца цепочки (номер ячейки в FAT Есть номер кластера). и цепочка записей фрагментированого файла в FAT фрагментирована также. Взяв из каталога адрес первого кластера по цепочке записей в FAT получаем весь список.


Так я же говорю, в таблицах FAT после удаления - нули, на тех местах где была записана цепочка кластеров.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 18 2012, 11:06
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(subver @ Jan 18 2012, 14:58) *
Так я же говорю, в таблицах FAT после удаления - нули, на тех местах где была записана цепочка кластеров.

Зная исходный кластер цепочку можно восстановить. Для этого просто просто берем нужное количество свободных кластеров, начиная с того места, куда указывает начало.
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Jan 18 2012, 11:24
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(subver @ Jan 18 2012, 14:58) *
Так я же говорю, в таблицах FAT после удаления - нули, на тех местах где была записана цепочка кластеров.

Чем производилось удаление?. Стандартные средства удаления не стирают данные в FAT.
В вашем случае Востановление удаленного фрагментированного файла возможно специальным софтом, некоторых типов файлов, содержащих контрольные суммы или другие признаки целосности, перебором возможных цепочек.
Кстати если файл маленький не мог он поместится в одном кластере?. Да еще в системе FAT16, таблицы FAT присутствуют в двух экземплярах.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 18 2012, 11:31
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(MaslovVG @ Jan 18 2012, 15:24) *
Стандартные средства удаления не стирают данные в FAT.

Стирают, разумеется. Попробуйте тем же WinHEX'ом "удалить" файл, прописав 0xE5 в начале имени, и при проверке диска непременно получите lost cluster chain.
Go to the top of the page
 
+Quote Post
1113
сообщение Jan 18 2012, 14:54
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



winhex это стандартное средство? проводник - вот это даа...
Go to the top of the page
 
+Quote Post
subver
сообщение Jan 18 2012, 15:06
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



Дело не в том, что мне надо восстановить удаленный файл, я просто решил изучить FAT16 изнутри, и сделать функции работы с файловой системой для себя.
В общем пока вывод такой - при удалении файла, необходимо обнулять цепочки кластеров, иначе после удаления свободное место на карте не соответсвует "правде", остаются как выше было сказано "lost cluster chain".
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 18 2012, 15:08
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(1113 @ Jan 18 2012, 18:54) *
winhex это стандартное средство? проводник - вот это даа...

WinHEX - это не стандартное средство. Я лишь описал, как симулировать "удаление" файла без стирания цепочки кластеров, как стандартные средства не делают.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jan 18 2012, 15:52
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата
Неиспользуемым кластерам в таблице соответствуют нули. «Плохим» кластерам (которые исключаются из обработки, например, по причине нечитаемости соответствующей области устройства) также соответствует специальный код.
При удалении файла первый знак имени заменяется специальным кодом E5 и цепочка кластеров файла в таблице размещения обнуляется. Поскольку информация о размере файла (которая располагается в каталоге рядом с именем файла) при этом остаётся нетронутой, в случае, если кластеры файла располагались на диске последовательно и они не были перезаписаны новой информацией, возможно восстановление удалённого файла.

Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th July 2025 - 11:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01468 секунд с 7
ELECTRONIX ©2004-2016