OLD_posting

PE (Portable Executable) 포맷

슈개 2010. 11. 24. 19:30
반응형


Portable Executable :
이동이 가능하고 실행이 가능한 파일이다. 다른 윈도우 시스템에 옮겼을 실행이 되도록. 같은 윈도우 계열에 어디서든 실행이 있게 하기위함.(호환성)

PE파일이라는 실행 파일 구조체 형태 이루어져 있다. 구조체에 대한 정의는 winnt.h.라는 파일에 정의 되어있다.
 

  • winnt.h 파일을 보면 PE 포맷에 대한 정보를 있다.
  • Image File
    • EXE, DLL 같은 확장자를 가지는 실행 파일
    • 실행 파일 자체가 가상 주소 공간에 Mapping되어 사용
  • Object File
    • Linker 입력되는 파일
    • Linker  Object File에서 Image File 생성하게 되고 생성된 Image File Loader 의해 Memory 적재
  • 정렬 단위
    • Memory File 정렬단위가 존재
    • Section 최소 크기를 의미

      PE 기본적인 레이아웃
        • 코드와 데이터, 헤더가 실행파일에 기본적으로 포함 된다. 외부에서 불러오기 위한 것인 idata(import data) 필요
        • Header 헤더, Code, data, idata 섹션이라고 한다.
        • 실행파일을 만들어 주는건 링커, 기계어인 바이너리 코드로 만들어 주는건 컴파일러
        • Header DOS Header, DOS STUB code, PE Header, Section Header 나뉘어진다.

       

      • 위의 PE Header 나뉘서 보면, PE signature(단순한 문자열 형태의 ), File Header, Optional Header
      • Section Header 위에서 나눴던 PE파일에서의 섹션으로 Code, data, idata 3개가 나온다.
반응형

'OLD_posting' 카테고리의 다른 글

주요 포트 정리  (0) 2012.10.08
리버스 텔넷  (0) 2012.08.06
Caller/Callee Seaved Register  (0) 2010.11.15
Calling Convention  (0) 2010.11.15
ALU (arithmetic-logic unit) - 산술논리 연산장치  (0) 2010.11.15