Этот инструмент предназначен для управления файловыми системами FAT для изучения, извлечения, восстановления и экспертизы.
В настоящее время он поддерживает FAT12, FAT16 и FAT32.
Сборка и установка
Вы можете собрать fatcat таким образом:
# mkdir build # cd build # cmake .. # make
И после установить:
# make install
Исследование
Использование fatcat
Fatcat принимает image в качестве аргумента:
# fatcat disk.img [options]
Вы можете указать -O, что может быть полезно, если на блочном устройстве имеется несколько разделов:
# fatcat disk.img -O 1048576 [options]
Это fatcat, что начинать надо с 1048576-го байта.
Список
Вы можете изучить раздел FAT с помощью опции -l следующим образом:
# fatcat disk.img -l / Listing path / Cluster: 2 d 24/10/2013 12:06:00 some_directory/ c=4661 d 24/10/2013 12:06:02 other_directory/ c=4662 f 24/10/2013 12:06:40 picture.jpg c=4672 s=532480 (520K) f 24/10/2013 12:06:06 hello.txt c=4671 s=13 (13B)
Также вы можете указать путь, например -l / some /directory
Используя -L, вы можете указать номер кластера вместо пути
Если вы добавите -d, вы также увидите удаленные файлы
В листинге префикс f или d предназначен для строки, относящейся к файлу или каталогу
C = указывает номер кластера, s = указывает площаль в байтах.
Буква h в конце указывает, что файл должен быть скрыт.
Буква d в конце указывает, что файл был удален.
Чтение файла
Вы можете прочитать файл с использованием -r, файл будет записан на стандартный вывод:
# fatcat disk.img -r /hello.txt Hello world! # fatcat disk.img -r /picture.jpg > save.jpg
Используя -R, вы можете указать количество кластеров, которое подходит, если вы не предоставите параметр -s, чтобы указать размер файла для чтения.
Вы можете использовать -x для извлечения каталогов файловой системы FAT в каталог:
# fatcat disk.img -x output/
Если вы хотите извлечь из определенного кластера, предоставьте ему опцию -c.
Если вы предоставите -d для извлечения, также будут извлечены удаленные файлы.
Восстановить после удаления
Просмотр удаленных файлов и каталогов
Как объяснялось выше, списки файлов, с опцией -d:
# fatcat disk.img -l / -d f 24/10/2013 12:13:24 delete_me.txt c=5764 s=16 (16B) d
Вы можете изучить и найти файл или интересную удаленную директорию.
Извлечение удаленного файла
Чтобы получить удаленный файл, просто используйте -r для его чтения. Обратите внимание, что созданный файл будет читаться смежно из исходной системы FAT и может быть сломан.
Удаленный изъятый каталог
Чтобы получить удаленный каталог, обратите внимание на его номер кластера и извлеките его, как указано выше:
Если ваш удаленный кластер каталогов равен 71829
# fatcat disk.img -x output / -c 71829
Взлом
Вы можете использовать fatcat для взлома файловой системы FAT
Информация
Флаг -i предоставит вам много информации о файловой системе:
# fatcat disk.img -i
Он вернет вам данные заголовков, такие как размеры секторов, площаль, метки дисков и т. д.
Он прочитает таблицу FAT для оценки использования диска.
Таким образом, вы можете получить информацию о конкретном кластере, используя – @:
# fatcat disk.img -@ 1384
Это действие даст вам адрес кластера и значение следующего кластера в двух таблицах FAT.
Резервное копирование и восстановление FAT
Вы можете использовать -b для резервного копирования таблиц FAT:
# fatcat disk.img -b backup.fats
И используйте -p, чтобы записать его обратно:
# fatcat disk.img -p backup.fats
Запись в FAT
Вы можете писать в таблицы FAT с помощью -w и -v:
# fatcat disk.img -w 123 -v 124
Это действие будет писать 124 как значение следующего кластера 123.
Таким образом, вы можете выбрать таблицу с -t, 0 – обе таблицы, 1 – первая и 2 -вторая.
Сравнение и объединение FAT
Вы можете взглянуть на разницу двух FAT, используя -2:
Смотрим различия
# fatcat disk.img -2 Comparing the FATs FATs are exactly equals
Запись 123 в 500-м кластере только в FAT1
# $ fatcat disk.img -w 500 -v 123 -t 1 Writing next cluster of 500 from 0 to 123 Writing on FAT1
Смотрим различия
# $ fatcat disk.img -2 Comparing the FATs [000001f4] 1:0000007b 2:00000000 FATs differs It seems mergeable