Information Security ˗ˋˏ ♡ ˎˊ˗

Security/Reversing

[PE 파일] 구조(3) - PE 파일 헤더(NT_Header)

토오쓰 2020. 4. 9. 18:34

기초 정적 분석_PE 파일

notepad.exe(ver. Win 10)

 

 

NT_Header

 

첫번째 signature : 4byte공간 PE구조 파일 명시

 

50 45: PE(아스키)

 

두번째 File_Header

1. Machine(CPU): 0x8664-AMD64 CPU/0x014c-Intel CPU 호환

2. 섹션의 개수: 0x0005

3. Time Data: 0x144CAAC5→340568773

- 계산하는 방법(예): /60=20792156분 35초, /60=346535시간 56분, /24=14438일 23시, /365=39년 203일

- (컴퓨터 기준)1970년 1월 1월 0시 + 39년 203일 23시 35초 = 2009년 7월 13일 23시 56분 35초

4. Pointer To Symbol Table, Number of Symbols: 0으로 패딩

5. Size Of Optional Header: 0xE0(32bit), 0xF0(64bit), 0x00(obj)

6. Characteristics: 파일형식 정보, OR 연산

 

winnt.h [Characteristics]

 

 

세번째 Optional_Header

주요 설명

1. Magic: 실행하는 PE 파일의 구조체가 32bit인지 64bit인지 알려주는 것

2. Address of Entry Point: 프로그램이 실제 시작되는 주소, 메모리 상에 파일이 올라가게 되면 몇 번째부터 시작할지 포인터가 잡히게 된다. (=EP=Entry Point 가장 먼저 포인터가 가는 부분(악성코드를 시작 지점으로 지정할 수 있다.)

3. Image Base: PE파일이 메모리에 로드되는 시작주소, 컴파일러에 따라 다르기도 함.

4. Section Alignment: 메모리에서 섹션의 최소 단위, 실제 파일보다 메모리에 올라가 있는 패딩 영역의 사이즈가 커짐. 시작주소는 이 값의 배수

5. File Alignment: 파일에서 섹션의 최소 단위

6. Sub System

7. Data Directory: 정의되어 있는 값이 있기 때문에, 속성들을 정의할 수도 있다.

 

winnt.h [Data Directory Entry]

IMAGE_OPTIONAL_HEADER

 

 

 

다음 설명으로

https://t-okk.tistory.com/40

 

PE 파일 구조(4) - PE 파일 섹션(Section_Header .text)

기초 정적 분석_PE 파일 notepad.exe(ver. Win 10) Section_Header 실제 실행되는 섹션의 종류 IMAGE_SECTION_HEADER .text .text 섹션 주요 내용 값 멤버 의미 0x747865742E NAME 섹션이름 .text 0x01AE2C Vir..

t-okk.tistory.com