B1ueJay

FAT 파일 시스템 - (3)데이터 영역 본문

Digital Forensic/File System

FAT 파일 시스템 - (3)데이터 영역

B1ueJay 2019. 11. 4. 01:28

[그림 1] 데이터 영역

Data Area(데이터 영역)

  • 디렉터리 엔트리에 디렉터리 및 파일의 메타 정보 저장
    → 파일 속성, 크기, 시작 클러스터, 날짜, 시간 등

Directory Entry(디렉터리 엔트리)

  • 파일 시스템에 저장된 각각의 파일과 디렉터리마다 할당된 데이터 구조체
  • 한 개의 엔트리 크기는 32byte

디렉터리 엔트리의 구조는 아래와 같다

[그림 2] 디렉터리 엔트리 구조

항목 설명
할당 상태 표시  비어 있는 공간=0x00, 삭제된 파일=0xE5 
Name

8Byte 크기의 파 이름 표시

ASCII 및 한글로 표시되며 공백은 0x20로 표시

Extension 3Byte 크기의 파일 확장자를 표시
Reserved 예약된 영역 
Attributes

해당 파일의 속성 플래그 값을 나타냄

전체 8bit로 표시되며 상위 2bit는 예약되어 있음

Create Time(Tenth of Second) 파일의 생성 시간(0.1초 단위)
Starting Cluster(High) 파일이 위치한 첫 번째 클러스터 주소의 상위 2byte
Last Written Time 마지막 수정 시간(시, 분, 초)
Last Written Data 마지막 수정 날짜
Starting Cluster(Low) 파일이 위한 첫 번째 클스터 주소의 하위 2byte
File Size 파일의 크기(디렉터리는 0), Byte 단위로 표시

 

Attribute 추가 내용

[속성 값 별 설명]

플래그 값 속성 설명
0000 0001(0x01) Read Only 읽기 전용
0000 0010(0x02) Hidden File 숨김 파일
0000 0100(0x04) System File 운영체제 시스템 파일
0000 1000(0x08) Volume Label 볼륨 레이블
0000 1111(0x0F) Long File Name 긴 파일 이름 엔트리
0001 0000(0x10) Directory 디렉터리
0010 0000(0x20) Archive 일반 파일

 

Long File Name Directory Entry(긴 파일명 디렉터리 엔트리)

위 일반 디렉터리 엔트리는 파일명 8자와 3글자 확장자를 지원하였지만, 만약 더 긴 파일명이 필요한다면 어떨까?

만약 더 긴 파일명이 필요한다면 파일의 디렉터리 엔트리는 이렇게 바뀐다.

  • 13문자(Unicode)까지 표현 가능
  • 엔트리 최대 14개를 사용 할 수 있음
  • 최대 255문자까지 표현 가능

[그림 3] 긴 파명 디렉터리 엔트리 구조

순서 번호 설명
Sequence Number / Allocation Status

순서번호와 할당 상태를 나타냄

파일명의 길이에 따라 1부터 증가하면서 마지막에 0x40하고

OR 연산한 값으로 순서 번호가 생성됨

삭제된 LFN 엔트리는 일반 엔트리와 동일하게 0xE5로 표현

Name 1 파일 이름 1 ~ 5문자(Unicode)
Attribute 긴 파일 이름 속성인 것을 나타내는 값 0x0F 표시
Reserved 예약된 영역
Checksum 파일 이름의 체크섬 값
Name 2 파일 이름 6 ~ 11문자(Unicode)
Reserved 예약된 영역
Name 3 파일 이름 12 ~ 13문자(Unicode)