FAT파일시스템 - FAT 영역

심야·2022년 12월 21일
0

디지털 포렌식

목록 보기
8/23

FAT 영역

FAT.png

FAT영역은 예약 영역 다음에 오는 영역이며 파일 할당 테이블이다.
즉 데이터 영역에 저장된 파일들의 할당 관계를 표시해주는 테이블이다. FAT 영역은 두 개로 나누어지는데 두 번째 FAT 영역은 첫 번재 테이블 영역이 손실되었을 경우 사용하기 위한 백업본이다. 따라서, 두 테이블 영역은 동일한 값이 저장되게 된다.

VBR 영역과 예약된 영역을 지나 FAT영역으로 가야한다.
FAT영역을 가기 위해선 VBR 섹터 + 예약된 영역 섹터를 지나야한다.

MBR.png

3F 00 00 00 즉 1C6 오프셋은 VBR영역이다.
16진수이므로 10진수로 변환하면 63섹터다.

VBR - FAT영역.png

VBR영역과 RS(예약된 영역)을 더하면 FAT영역으로 갈 수 있다.
3F 00 00 00 (63) + 01 F0 (496) = 559섹터

FAT영역.png

FAT 영역은 파일 할당 테이블, 데이터 영역에 저장된 파일들의 할당 관계를 표시해주는 테이블이다. 쉽게 말해 데이터 영역의 클러스터 할당 상태를 표시한다는 의미다. FAT32는 각 클러스터 당 4바이트를 사용해 데이터 영역 시작 클러스터부터 마지막 클러스터까지 할당 상태를 표시한다.

FAT클러스터.png

위 그림은 FAT 영역을 간단히 보여주는 사진이다.
클러스터 1개는 4바이트로 이루어지며 "FAT entry"라 불린다. 0번, 1번 엔트리는 저장매체와 파티션 상태를 표현하기위해 예약되어있다. 2번 엔트리부터 사용되며 엔트리값은 파일 시스템에서 데이터 영역의 각 클러스터가 사용되고 있는지를 나타낸다. 또한 특정 파일이 점유하고 있는 클러스터의 위치를 나타낸다.

  • 0x00000000
    미할당 상태 즉 할당 가능한 상태를 뜻한다. 파일 시스템을 새롭게 포맷하거나 파일을 삭제할 경우에 나타나는 값으로 0x00000000 값을 가진다.
    새로운 파일 및 디렉터리 저장 시 FAT영역에서 FAT 엔트리가 0x00인 클러스터를 찾아 할당한다.
  • 0x0FFFFFF8
    파일의 마지막 데이터가 있는 클러스터를 의미한다.
    만약 파일이 한 개 클러스터만 사용하면 이 값을 사용한다.
  • 0x0FFFFFF7
    배드섹터가 포함된 클러스터가 존재하면 이 값을 사용한다.
    해당 클러스터에 데이터를 저장할 수 없음을 나타낸다.
    FAT영역.png

FAT Entry 2번 파일은 파일 마지막 데이터가 있는 클러스터 값을 가지므로 1개의 클러스터를 사용한다.
FAT Entry 6번부터 할당된 파일은 FAT Entry 80번 까지 할당 됬고
76개의 클러스터를 사용하는 파일이다.

FAT영역 클러스터.png

profile
하루하루 성실하게, 인생 전체는 되는대로.

0개의 댓글