반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 리버싱
- C 프로그래밍
- Memory Forensics
- C
- ctf
- codeup
- Code Up
- sql
- DEFCON
- 정보보안기사
- defcon.mem
- 오늘의 영어
- SQLD
- 코드업
- C language
- c언어
- 보안동향
- 설치
- 보안
- Volatility
- 멀웨어
- 오늘의 보안동향
- 리버싱 핵심원리
- 오늘의 보안
- 악성코드
- 다운로드
- cmd
- 랜섬웨어
- Defcon DFIR CTF 2019
- 코딩
Archives
- Today
- Total
오브의 빛나는 별
2부 13장 PE File Format(3) 본문
반응형
안녕하세요, 오브입니다.
오늘은 NT Header에 대해 알아보겠습니다.
https://staraube.tistory.com/51?category=548043
2부 13장 PE File Format(1)
안녕하세요, 오브입니다. 오늘은 PE 파일의 기본구조와 VA, RVA에 대해 알아보겠습니다. PE File Format 13.1. 소개 PE 파일: Windows 운영체제에서 사용되는 실행 파일 형식. 기존 UNIX에서 사용되는 COFF 기
staraube.tistory.com
https://staraube.tistory.com/52?category=548043
2부 13장 PE File Format(2)
안녕하세요, 오브입니다. 오늘은 PE 헤더의 많은 구조체 중 DOS Header와 DOS Stub에 대해 알아보겠습니다. https://staraube.tistory.com/51?category=548043 PE File Format 13.3. PE 헤더 13.3.1. DOS Header D..
staraube.tistory.com
PE File Format
13.3.3. NT Header
- NT header 구조체 IMAGE_NT_HEADERS
typedef struct _IMAGE_NT_HEADERS {
DWORD Signature; // PE Signature 50450000 (“PE"00)
lMAGE FILE HEADER FileHeader;
lMAGE_OPTIONAL_HEADER32 OptionalHeader;
} lMAGE_NT_HEADERS32 , *PlMAGE_NT_HEADERS32;
- IMAGE_NT_HEADERS 구조체는 3개의 멤버로 이루어짐
- 크기: F8
- Signature: 50450000h로 “PE”00 값
- FileHeader
- Optional Header
13.3.4. NT Header-File Header
- IMAGE_FILE_HEADER: 파일의 개략적인 속성 나타냄
typedef struct _IMAGE_FILE_HEADER {
WORD Machine;
13 PE File Formal 149
WORD NumberOfSections;
DWORD TimeDateStamp;
DWORD PointerToSymbolTable;
DWORD NumberOfSymbols;
RD SizeOfOptionalHeader;
ORD Characteristics;
} 1MAGE_F1LE_HEADER, *PlMAGE_F1LE_HEADER;
- IMAGE_FILE_HEADER는 Machine, NumberOfSections, SizeOfOptionalHeader, Characteristics 멤버가 중요
1. Machine
- CPU 별로 고유한 값이며 32비트 Intel x86 호환 칩은 14C의 값을 가짐
2. NumberOfSections
- 섹션의 개수를 나타냄
- 반드시 0보다 커야하고 정의된 섹션 개수와 실제 섹션이 다르면 실행 에러 발생
3. SizeOfOptionalHeader
- lMAGE_NT_HEADERS 구조체의 마지막 멤버는 IMAGE_OPTIONAL_HEADER32 구조체인데 이 구조체의 크기 나타냄
- IMAGE_OPTIONAL_HEADER32는 C언어의 구조체이기 때문에 그 크기가 정해져있음
- 근데 Windows의 PE 로더는 SizeOfOptionalHeader 값을 보고 IMAGE_OPTIONAL_HEADER32 값 결정
- PE32+ 형태의 파일인 경우 IMAGE_OPTIONAL_HEADER64 구조체 사용
4. Characteristics
- 파일의 속성을 나타내는 값으로 실행 가능한 형태인지 혹은 DLL 파일인지 등의 정보들이 bit OR 형식으로 조합
- PE 파일 중 Characteristics 값에 0002h가 없는 경우: .obj와 같은 object 파일 및 resource DLL 같은 파일
- IMAGE_ FILE_HEADER의 TimeDateStamp: 파일의 실행에 영향을 미치지 않는 값. 해당 파일의 빌드 시간을 나타낸 값
- 개발 도구에 따라서 이 값을 셋팅해주는 도구가 있고 아닌 도구가 있음.
반응형
'리버싱' 카테고리의 다른 글
2부 13장 PE File Format(5) (0) | 2022.04.24 |
---|---|
2부 13장 PE File Format(4) (0) | 2022.04.24 |
2부 13장 PE File Format(2) (0) | 2022.04.23 |
2부 13장 PE File Format(1) (0) | 2022.04.23 |
1부 3장 리틀 엔디언 표기법 (0) | 2022.04.23 |