본문 바로가기

Reversing

PE ( Portable Executable )

PE 구조

윈도우 운영 체제에서 사용되는 실행 파일의 구조

 

 

 

PE 파일의 종류

  • 실행 파일 계열 : EXE, SCR(Screen Saver)
  • 라이브러리 계열 : DLL, OCX(Active X)
  • 드라이브 계열 : SYS
  • 오브젝트 파일 계열 : OBJ

 

 

PE 구조

PE 구조

PE 구조는 차례대로 DOS Header, Stub Code, PE Header(File Header, Optional Header 포함), Section Header로 나뉘며 그 뒤에는 보통 코드를 포함하는 코드(.text) 섹션, 전역 변수 혹은 정적 변수를 포함하고 있는 데이터(.data) 섹션, 문자열이나 아이콘 같은 리소스 데이터를 포함하는 리소스(.rsrc) 섹션으로 나뉜다.

 섹션들 사이에 NULL인 부분은 처리 효율을 높이기 위해 사용하는 영역으로 패딩(padding) 영역이다.

 

 

PE 헤더

헤더 -> 구조체라 할 수 있음

Stub Code 영역을 제외한 PE의 3개(DOS, NT, Section)의 헤더가 PE의 헤더를 구성함

 

 

PE 파일의 장점

  • 컴퓨터가 파일을 실행하기 위해 기계어만 필요
  • 파일을 용도에 맞게 구조화하면 효율적인 파일 실행 가능

 

 

 

 

 

출처 : https://m.blog.naver.com/PostView.nhn?blogId=jjscan&logNo=220742583133&proxyReferer=https%3A%2F%2Fwww.google.com%2F