윈도우 PE

From CS Wiki
Portable Executable

윈도우에서 실행파일의 구조를 정의한 포맷이다. 윈도우에서 실행 가능한 EXE, SCR, DLL, OCX, SYS, OBJ 등의 확장자들은 모두 PE 포맷으로 작성된 것이다.

구성[edit | edit source]

Dos Header[edit | edit source]

Dos Stub[edit | edit source]

PE Header[edit | edit source]

Section[edit | edit source]

  • .text
    • 프로그램 실행을 위한 코드를 저장하고 있는 섹션
  • .data
    • 읽기 쓰기가 가능한 영역으로 전역변수와 정적 변수 등이 위치하는 섹션
  • .rdata
    • 읽기 전용 데이터 섹션으로 상수형 변수, 문자열 상수 등이 위치하는 섹션
  • .idata
    • 임포트(import) 할 DLL과 그 API/함수에 대한 정보를 담고 있는 섹션

​* .edata

    • Export할 데이터를 저장하고 있는 섹션(주로 dll파일들이 가지고 있다.)
  • .rsrc
    • 아이콘, 커서 등 윈도우 APP 리소스 관련 데이터를 저장하고 있는 섹션
  • .bss
    • 초기화 되지 않은 전역변수가 위치하는 섹션
  • IAT(Import Address Table)
    • 응용 프로그램이 다른 모듈의 기능을 호출할 때 조회 테이블