ntfswalker          http://dmitrybrant.com/ntfswalker

ntfs파일생성시간 http://www.digital-detective.net/digital-forensic-software/free-tools/

 

NTFS참고             http://www.cse.scu.edu/~tschwarz/coen252_07Fall/Lectures/NTFS.html

 


MBR 

 운영체제에서 OS의 위치 정보 가리킴


CHS

  물리적인 주소 지정방식 (실린더, 헤드, 섹터 구조에 기반)

 현재는 이용되지 않는다. (용량 제한의 문제 발생)


LBA

 하드디스크의 구조정보를 이용하지 않고 단순히 0부터 시작한다. 모든 섹터를 논리적인 번호로 0부터 나열한 것이다. CHS 한계점 때문에 사용되며 현재 사용되는 방식.

 

[LBA주소찾기] : 1C0 / 06-09

ex) 00 08 00 00

=> 0x 00 00 08 00

     = 2048

 

 

 

 

 

 

 

[시작 MFT값 찾기] : 030 / 00-07

ex) 00 00 0C 00 00 00 00 00

=>0x 0C 00 00 = 78643

 

 MTF 시작 주소($MFT 위치) = MTF클러스터 시작값 + 클러스터크기 + VBR

 = 786432*8+2048  

 = 6293504

 

 

 

 

 

 

[NTFS Walker] : 파일 정보 위치 찾기

 

복구 할 목록 확인

 

 MFT #NUM 위치 = 시작 MFT값 + (#NUM * 2)

 

ex) MFT #39

= 6293504 + (39*2)

= 6293582

 

 

 

 

 

 

[RunList & 파일크기]

1. 파일 이름 값 뒤 80확인

2. 80번 아래 4번째 값이 런리스트 오프셋

 파일의 위치 = 리얼데이터 위치 값 * 클러스터크기 + VBR값(LBA주소)

= 0x BFB65 * 8 + 2048

= 785253 * 8 + 2048                          

= 6284072

 

파일의 크기 = RunListOffset 왼쪽 8Byte 

= 0x 00 00 00 00 00 03 E9 08

= 0x 3E908

 


 

 

 

 

 

 

 

[MFT 속성 타입 ID

속성식별값

 속성이름

 설 명

1000

0x10

$Standard information

파일의 생성/접근/수정 시간, 소유자 등의 일반적인 정보

2000

0x20

$Attribute List

추가적인 속성들의 목록

3000

0x30

$File Name

속성값(파일이름(유니코드), 파일의 생성/접근/수정시간)

4000

0x40

$Volume Virsion

볼륨 정보(Windows NT 1.2버전에만 존재)

5000

0x50

$Security

파일 접근/제어, 보안 속성

6000

0x60

$Volume Name

볼륨 이름

7000

0x70

$Volume Information

파일시스템 버전, 플래그들 저장

8000

0x80

$DATA

파일의 내용(데이터위치값, 실제 사용되고 있는 데이터 크기)

//복구에 가장 중요한 속성값

9000

0x90

$Index Root

인덱스트리의 루트 노드 저장

A000

0xa0

$Index Allocation

인덱스트리의 루트와 연결된 노드

B000

0xb0

$Bitmap

MFT와 인덱스의 할당정보( 파일 있음)

C000

0xc0

$Symbolic Link

$Reparse Point

심볼릭 링크 정보(Windows2000+)

심볼릭링크에서 사용하는 reparse point정보( " )

D000

0xd0

$EA Information

 OS/2 응용프로그램과 호환성읠 위해 사용(HPFS)

 

 

 

 

 

 

 

 

 

 

 

 


 

 

[파일복구순서]

 

1

파일이름 0x0080 찾음

80 = 속성타입ID 데이터 구간

2

80 밑으로 4번째 확인  ex) 22 or 31 or 21

Offset RunList (클러스트할당량|데이터위치)

3

번호에 따라

ex) 3 | 1 : 오른쪽 1byte 이동 3byte

데이터 위치 찾음

4

번호 왼쪽 8byte

데이터 크기

5

 파일 위치 이동 파일크기 만큼 복사 복구!

 

생성시간 (0B0 / 08-0F)

파일이름 (0F0 / 02-0F) //80전까지(이름 길이에 따라 다름)

런리스트 : 파일이름 80에서 아래로 4번째

파일크기 : 런리스트 왼쪽 8Byte

파일위치 : ex)31 -> 1byte 건너 (3byte*클러스터크기)+VBR

      ------------------------------

 

참고] ntfs.xlsx

 

 

 

+ Recent posts