PE FILE FORMAT
PE FILE FORMAT이란 윈도우에서 사용되는 실행 파일 형식이다.
PE FILE은 header과 body로 나눌수 있다.
header부분을 자세히 나눠보면 다음과 같다.
머리(header)
- DOS header
- MZ // (아스키코드 4D5A)(MZ 꼭들어가야함) - 첫부분 WORD
- NT header 시작 주소 // 3C부터 DWORD
-DOS stub // 필요없음 - 40부터 NT header 까지
- NT header
- Signature
-PE // PE로 시작함 16진수로 50 45 00 00 DWORD
- File header
- Machine // CPU별 고유한 값 WORD
- NumberOsSections// 섹션의 갯수(몸통의 갯수) WORD
- TimeDateStamp // 컴파일 된 날짜 태어난 날짜 DWORD
- PointerToSymbolTable // 중요 X DWORD
- NumberOfSymbols // 중요 X DWORD
- SizeOfOtionalHeader // OptionalHeader 구조체 크기 WORD
- Characteristics // 파일의 속성 WORD
- optional header
- Magic //32bit = 0B 01 ,64 bit = 0B 02 인지 알려줌 WORD
BYTE BYTE (중요 X)
DWORD DWORD DWORD (중요 X)
- AddressOfEntryPoint // ep 주소 DWORD
DWORD DWORD (중요 X)
- ImageBase // 이미지 베이스 -> PE 파일이 매핑되는 시작주소 DWORD
- SectionAlignment // 메모리에서 섹션의 최소단위 DWORD
- FileAliognment // 파일에서 섹션의 최소단위 DWORD
WORD X 6
DWORD
- SizeOfImage // 메모리에서 PE구조 크기 DWORD
- SizeOfHeader // PE header 크기 DWORD
DWORD
- Subsystem //확장자 1 = 드라이브파일 2= GUI 파일 3 = CUI 파일 WORD
WORD
DWORD X 5
- NumverOfRvaAndSizes // MAGE_DATA_DIRECTORY 구조체의 배열크기 DWORD
'리버싱 > 이론 정리' 카테고리의 다른 글
stolen byte (0) | 2020.07.26 |
---|---|
패킹 (0) | 2020.07.25 |
레지스터 (0) | 2020.07.25 |
빅엔디언과 리틀엔디언 (0) | 2020.07.24 |
올리디버거 단축키 (0) | 2020.07.24 |