윈도우 PE: Difference between revisions

From IT Wiki
No edit summary
No edit summary
 
Line 10: Line 10:
* '''.text'''
* '''.text'''
** 프로그램 실행을 위한 코드를 저장하고 있는 섹션
** 프로그램 실행을 위한 코드를 저장하고 있는 섹션
* '''.data, .rdata'''
* '''.data'''
** 전역 변수 등 데이터들을 저장하고 있는 섹션
** 읽기 쓰기가 가능한 영역으로 전역변수와 정적 변수 등이 위치하는 섹션
* '''.idata, .didat'''
* '''.rdata'''
** Import할 데이터(DLL 등)를 저장하고 있는 섹션
** 읽기 전용 데이터 섹션으로 상수형 변수, 문자열 상수 등이 위치하는 섹션
* '''.edata'''
* '''.idata'''
** 임포트(import) 할 DLL과 그 API/함수에 대한 정보를 담고 있는 섹션
* '''.edata'''
** Export할 데이터를 저장하고 있는 섹션(주로 dll파일들이 가지고 있다.)
** Export할 데이터를 저장하고 있는 섹션(주로 dll파일들이 가지고 있다.)
* '''.rsrc'''
* '''.rsrc'''
** 아이콘, 커서 등 윈도우 APP 리소스 관련 데이터를 저장하고 있는 섹션
** 아이콘, 커서 등 윈도우 APP 리소스 관련 데이터를 저장하고 있는 섹션
* '''.bss'''
** 초기화 되지 않은 전역변수가 위치하는 섹션
* '''IAT(Import Address Table)'''
** 응용 프로그램이 다른 모듈의 기능을 호출할 때 조회 테이블

Latest revision as of 18:46, 12 October 2019

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)
    • 응용 프로그램이 다른 모듈의 기능을 호출할 때 조회 테이블