반응형

PE파일 구조를 자세히 들여다보자.


Dos Header

도스헤더는 PE file format을 만들 당시 Dos파일에 대한 호환성을 위해 만들어졌다. PE파일의 첫 부분에는 DOS EXE Header를 확장시킨 IMAGE_DOS_HEADER 구조체가 존재한다. 이 구조체에서 중요한 멤버는 e_magic과 e_lfanew가 있다.

e_magic 에는 dos signature("MZ")가 존재하고, e_lfanew 에는 NT HEADER 구조체가 존재한다.











notepad를 열어 Dos header 부분을 보면 4D5A(MZ), e_lfanew값은 000000E0을 알 수 있다.


Dos Stub

Dos stub는 옵션으로 존재하고 크기도 일정하지 않다. 코드와 데이터의 혼합으로 이루어져 있으며, Windows에서는 dos stub부분이 실행되지 않는다.

만약, Dos 환경에서 notepad가 실행되면 MS-DOS 호환모드를 가지고 있어 This program cannot be run in DOS mode를 출력하고 종료해버린다.

반응형

'Study > Reversing' 카테고리의 다른 글

"pwnable.kr" fd 문제풀이  (0) 2014.11.04
PE헤더-NT Header  (0) 2014.08.03
PE파일 구조  (0) 2014.07.31
리버싱 분석방법-정적분석, 동적분석  (0) 2014.07.07

+ Recent posts