Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/gregwar/fatcat
磁盘取证取证分析数据恢复数字取证
GitHubgregwar/fatcat

fatcat

FAT文件系统的探索、提取、修复和取证工具

查看仓库
32542571年前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字节开始。请查看分区教程。

列出

你可以使用 -l 选项探索FAT分区,如下所示:

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:~
# 如果你的已删除目录簇号是 71829
fatcat disk.img -x output/ -c 71829

另请参阅:恢复删除教程

恢复

损坏的文件系统

假设你的磁盘有坏扇区,你可能想要进行恢复。

第一个建议是使用 ddrescue 备份你的数据,并将磁盘保存到另一个磁盘或一个健康的文件。

当扇区损坏时,它们的字节将在 ddrescue 镜像中被替换为 0。

第一种方法是尝试使用 -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

你可以使用 -w 和 -v 写入FAT表:

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

这将把 124 写入簇 123 的下一个簇值。

你还可以使用 -t 选择表,0代表两个表,1代表第一个,2代表第二个。

比较与合并FAT

你可以使用 -2 查看两个FAT的差异:

root@kitploit:~
# 查看差异
$ fatcat disk.img -2
Comparing the FATs

FATs are exactly equals

# 仅在FAT1的第500个簇中写入123
$ 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

你可以使用 -m 合并两个FAT。对于表中每个不同的条目,如果一个为零而另一个不为零,则选择非零的:

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 许可

下载工具