윈도우 PE: Difference between revisions

From CS Wiki
No edit summary
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
[[분류:윈도우]][[분류:정보보안기법]]
[[분류:윈도우]][[분류:정보보안기사]]
;Portable Executable
;Portable Executable
윈도우에서 실행파일의 구조를 정의한 포맷이다. 윈도우에서 실행 가능한 EXE, SCR, DLL, OCX, SYS, OBJ 등의 확장자들은 모두 PE 포맷으로 작성된 것이다.
윈도우에서 실행파일의 구조를 정의한 포맷이다. 윈도우에서 실행 가능한 EXE, SCR, DLL, OCX, SYS, OBJ 등의 확장자들은 모두 PE 포맷으로 작성된 것이다.
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 04: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)
    • 응용 프로그램이 다른 모듈의 기능을 호출할 때 조회 테이블