FAT(File Allocation Table) 구조



- FAT는 데이터를 저장하는 클러스터(Cluster)의 할당 유무를 저장하기 위해 사용

- FAT1은 클러스터의 할당 유무를 저장하며 FAT2는 FAT1의 백업 정보를 저장(즉, FAT1, FAT2는 동일)

- FAT Entry로 구성

- FAT Entry의 0, 1번은 존재하지 않음(Media Type, Partition Status가 사용하며 해당 정보는 분석할 필요 없음)

- 시작하는 FAT Entry는 2번부터 시작되며 2번은 대개 루트 디렉터리가 할당


※ Cluster 란?

- 여러 개의 섹터들의 묶음.

- FAT32 파일 시스템에서의 주소 체계는 클러스터 단위

- 파일이나 디렉터리가 데이터를 저장할 시 이용되는 저장 단위


◎ FAT Entry


- FAT 영역에서 클러스터의 사용 유무 정보 저장


- FAT32에서는 FAT Entry는 4 Byte로 구성

- 위치에 따라 클러스터의 번호로 인식(FAT Entry를 클러스터 번호라고 말하기도 함)


- FAT Entry의 저장되는 값은 아래 표 참고


 값

 설명 

 0x?0000000 

 사용 가능한 클러스터

 0x?0000001

 예약된 클러스터. 나중을 위해 예약됨 

 0x?0000002 ~ 0x?FFFFFEF

 사용 중인 클러스터. FAT Entry에 저장된 값은 자신의 다음 클러스터 번호를 저장

 0x?FFFFFF0 ~ 0x?FFFFFF6

 예약된 클러스터. 나중을 위해 예약됨

 0x?FFFFFF7

 불량 클러스터. 해당 클러스터에 속해 있는 섹터 중 불량 섹터가 발생하여 더이상 데이터를 저장 할 수 없음

 0x?FFFFFF8 ~ 0x?FFFFFFF

 파일의 마지막 클러스터(End Of Cluster). 연결된 마지막 클러스터를 의미하거나 단일이자 마지막 클러스터를 의미



◎ Cluster 연결 방식


1. 하나의 Cluster 사용 시



- 파일이나 디렉터리가 하나의 클러스터(FAT Entry)를 사용할 시에는 들어 있는 값은 0x?FFFFFF8 - 0x?FFFFFFF의 값이 들어 있음

- 위의 경우에는 2번 클러스터만을 사용한다는 의미(추가적 클러스터 사용을 하지 않는다라는 의미)

- 파일의 크기가 1개의 클러스터 미만이거나 디렉터리이 하위 파일이나 하위 디렉터리를 많이 갖지 않을 경우에 해당 정보를 확인 가능



2. 여러 개의 Cluster 사용 시


- 파일이나 디렉터리가 여러 개의 클러스터(FAT Entry)를 사용할 시에는 들어 있는 값은 추가로 사용할 클러스터(FAT Entry) 번호를 저장

- 위의 경우 3번 클러스터를 사용하면서 추가적으로 4번과 5번 클러스터를 사용한다는 의미

- 여러 개의 클러스터 사용 시 마지막으로 사용하는 클러스터(FAT Entry)에는 0x?FFFFFF8 - 0x?FFFFFFF의 값이 저장

'Disk Forensic > File System Forensic' 카테고리의 다른 글

FAT 구조 3 - FSINFO 구조  (0) 2015.04.03
FAT 구조 2 - BR 구조  (0) 2015.03.31
FAT32 구조 1 - FAT 개요 및 구조  (0) 2015.03.26
MBR 구조  (0) 2015.03.23
HFS+ File System 구조 - 데이터 찾아가기  (0) 2015.03.13
GPT(GUID Partition Table) 구조  (0) 2015.03.12
Posted by Gedor
,