Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/gregwar/fatcat
Disk ForensicsForensicsData RecoveryDigital Forensics
GitHubgregwar/fatcat

fatcat

FAT 파일 시스템 탐색, 추출, 복구 및 포렌식 도구

저장소 보기
32542581년 전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

이렇게 하면 123의 다음 클러스터 값으로 124를 씁니다.

-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를 병합할 수 있습니다. 테이블에서 각각 다른 항목에 대해 하나가 0이고 다른 하나가 0이 아니면 0이 아닌 값이 선택됩니다:

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를 사용하여 0으로, 또는 -S를 사용하여 임의 데이터로 할당되지 않은 섹터 데이터를 지울 수 있습니다.

예를 들어, 삭제된 파일은 이후에 읽을 수 없게 됩니다.

라이선스

MIT 라이선스 하에 있습니다.

도구 다운로드