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バイト目から開始します。パーティションチュートリアルをご覧ください。

一覧表示

-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:~
# If your deleted directory cluster is 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

これにより、クラスタアドレス(ファイルシステム内のクラスタのオフセット)と、2つの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

これにより、123の次のクラスタの値として124が書き込まれます。

-tでテーブルを選択することもできます。0は両方のテーブル、1は最初、2は2番目です。

FATの差分とマージ

-2を使用して2つのFATの差分を確認できます:

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

-mを使用して2つの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ライセンスの下で提供されています。

ツールをダウンロード