Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
fatcat — Инструмент для исследования, извлечения данных, восстановления и судебной экспертизы файловых систем FAT | Kitploit
Инструменты/GitHubGitHub/gregwar/fatcat
Дисковая криминалистикаФорензикаВосстановление ДанныхЦифровая криминалистика
GitHubgregwar/fatcat

fatcat

Инструмент для исследования, извлечения данных, восстановления и судебной экспертизы файловых систем FAT

Репозиторий
325421 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

fatcat

fatcat

Этот инструмент предназначен для манипуляции файловыми системами FAT с целью их исследования, извлечения данных, восстановления и криминалистического анализа. В настоящее время он поддерживает FAT12, FAT16 и FAT32.

Учебные пособия и примеры

Сборка и установка

Вы можете собрать fatcat следующим образом:

root@kitploit:~
mkdir build
cd build
cmake ..
make

А затем установить:

root@kitploit:~
make install

Исследование

Использование fatcat

Fatcat принимает образ в качестве аргумента:

root@kitploit:~
fatcat disk.img [options]

ПРИМЕЧАНИЕ: в зависимости от вашей сборки, возможно, потребуется указать опции перед disk.img, т.е. fatcat [options] disk.img

Вы можете указать смещение в файле с помощью -O, это может быть полезно, если на блочном устройстве есть несколько разделов, например:

root@kitploit:~
fatcat disk.img -O 1048576 [options]

Это укажет fatcat начать с 1048576-го байта. Обратитесь к учебному пособию по разделам.

Листинг

Вы можете исследовать раздел FAT с помощью опции -l следующим образом:

root@kitploit:~
$ 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, файл будет выведен на стандартный вывод:

root@kitploit:~
$ fatcat disk.img -r /hello.txt
Hello world!
$ fatcat disk.img -r /picture.jpg > save.jpg

С помощью -R вы можете указать номер кластера вместо пути, но информация о размере файла будет потеряна, и файл будет округлен до количества кластеров, в которые он помещается, если только вы не укажете опцию -s для указания размера файла для чтения.

Вы можете использовать -x для извлечения каталогов файловой системы FAT в каталог:

root@kitploit:~
fatcat disk.img -x output/

Если вы хотите извлечь из определенного кластера, укажите его с помощью -c.

Если при извлечении указать -d, удаленные файлы также будут извлечены.

Восстановление удаленных

Просмотр удаленных файлов и каталогов

Как объяснялось выше, удаленные файлы можно найти в листинге, указав -d:

root@kitploit:~
$ fatcat disk.img -l / -d
f 24/10/2013 12:13:24  delete_me.txt                  c=5764 s=16 (16B) d

Вы можете исследовать и найти файл или интересный удаленный каталог.

Восстановление удаленного файла

Чтобы восстановить удаленный файл, просто используйте -r для его чтения. Обратите внимание, что полученный файл будет читаться непрерывно из оригинальной FAT-системы и может быть поврежден.

Восстановление удаленного каталога

Чтобы восстановить удаленный каталог, запомните его номер кластера и извлеките его, как показано выше:

root@kitploit:~
# If your deleted directory cluster is 71829
fatcat disk.img -x output/ -c 71829

См. также: учебное пособие по восстановлению удаленных файлов

Восстановление

Поврежденная файловая система

Предположим, на вашем диске есть поврежденные сектора, возможно, вы захотите выполнить восстановление.

Первый совет — сделать копию ваших данных с помощью ddrescue и сохранить ваш диск на другой носитель или в исправный файл.

Когда сектора повреждены, их байты будут заменены на 0 в образе ddrescue.

Первый подход — попробовать исследовать ваш образ с помощью -l, как указано выше, и проверить -i, чтобы узнать, распознает ли fatcat диск как FAT-систему.

Затем вы можете попробовать взглянуть на -2, чтобы проверить, различаются ли таблицы размещения файлов, и выглядят ли они сливаемыми. Скорее всего, они будут сливаемыми; в этом случае вы можете попробовать -m для слияния FAT-таблиц, не забудьте предварительно сделать резервную копию (см. ниже).

Файлы-сироты

Когда ваша файловая система повреждена, появляются файлы и потерянные файлы и каталоги, которые мы называем «сиротами», потому что к ним нельзя получить доступ из обычной системы.

fatcat предоставляет опцию для поиска таких узлов; он выполнит автоматический анализ вашей системы и исследование выделенных секторов вашей файловой системы. Это делается с помощью -o.

Вы получите список каталогов и файлов, например:

root@kitploit:~
There is 2 orphaned elements:
Directory clusters 4592 to 4592: 2 elements, 49B
File clusters 4611 to 4611: ~512B

Затем вы можете напрямую использовать -L и -R, чтобы просмотреть эти файлы и каталоги:

root@kitploit:~
$ fatcat disk.img -L 4592
Listing cluster 4592
Cluster: 4592
d 23/10/2013 17:45:06  ./                             c=4592
d 23/10/2013 17:45:06  ../                            c=0
f 23/10/2013 17:45:22  poor_orphan.txt                c=4601 s=49 (49B)

Обратите внимание, что файлы-сироты имеют неизвестный размер; это означает, что при их чтении вы получите файл, размер которого кратен размеру кластера.

См. также: учебное пособие по файлам-сиротам

Взлом

Вы можете использовать fatcat для взлома вашей FAT-файловой системы

Информация

Флаг -i предоставит вам много информации о файловой системе:

root@kitploit:~
fatcat disk.img -i

Это даст вам данные заголовков, такие как размеры секторов, местоположения FAT, метка диска и т.д. Также будет прочитана FAT-таблица для оценки использования диска.

Вы также можете получить информацию о конкретном кластере с помощью -@:

root@kitploit:~
fatcat disk.img -@ 1384

Это даст вам адрес кластера (смещение кластера в файловой системе) и значение следующего кластера в двух FAT-таблицах.

Резервное копирование и восстановление FAT

Вы можете использовать -b для резервного копирования ваших FAT-таблиц:

root@kitploit:~
fatcat disk.img -b backup.fats

И использовать -p для их записи обратно:

root@kitploit:~
fatcat disk.img -p backup.fats

Запись в FAT

Вы можете записывать в FAT-таблицы с помощью -w и -v:

root@kitploit:~
fatcat disk.img -w 123 -v 124

Это запишет 124 в качестве значения следующего кластера для 123.

Вы также можете выбрать таблицу с помощью -t: 0 — обе таблицы, 1 — первая, 2 — вторая.

Сравнение и слияние FAT

Вы можете просмотреть различия между двумя FAT с помощью -2:

root@kitploit:~
# Watching the diff
$ fatcat disk.img -2
Comparing the FATs

FATs are exactly equals

# Writing 123 in the 500th cluster only in FAT1
$ fatcat disk.img -w 500 -v 123 -t 1
Writing next cluster of 500 from 0 to 123
Writing on FAT1

# Watching the diff
$ fatcat disk.img -2
Comparing the FATs
[000001f4] 1:0000007b 2:00000000

FATs differs
It seems mergeable

Вы можете объединить две FAT с помощью -m. Для каждой различающейся записи в таблице, если одна равна нулю, а другая нет, будет выбрана ненулевая:

root@kitploit:~
$ fatcat disk.img -m
Begining the merge...
Merging cluster 500
Merge complete, 1 clusters merged

См. также: учебное пособие по исправлению FAT

Исправление каталогов

Fatcat может исправлять каталоги с нарушенной цепочкой FAT.

Для этого используйте -f. Будет обойдено все дерево файловой системы, и каталоги, которые не выделены в FAT, но которые fatcat может прочитать, будут исправлены в FAT.

Взлом записей

Вы можете получить информацию о записи с помощью -e:

root@kitploit:~
fatcat disk.img -e /hello.txt

Это отобразит адрес записи (не самого файла), ссылку на кластер и размер файла (если это не каталог).

Вы можете добавить флаг -c [cluster] для изменения кластера записи и флаг -s [size] для изменения размера записи.

См. также: учебное пособие по забавным экспериментам с FAT

Вы можете использовать -k для поиска ссылки на кластер.

Стирание нераспределенных файлов

Вы можете стереть данные нераспределенных секторов, используя нули с помощью -z или случайные данные с помощью -S.

Например, удаленные файлы после этого станут нечитаемыми.

ЛИЦЕНЗИЯ

Это под лицензией MIT

Скачать инструмент