시작점에서부터 IMAGE_DOS_HEADER의 사이즈인 64Bytes 만큼 떨어진 곳에서 찾을 수 있다. 이 부분은 IMAGE_DOS_HEADER와 같은 구조체가 아닌 이름 그대로 프로그램이다. 일반적인 실행파일처럼 실행한다.
이 프로그램에는 "This program cannot be run in DOS mode."라는 문자열을 볼 수 있다. 32bit 프로그램을 도스(16bit)에서 실행할 때 위의 문자열을 출력(16bit 환경에서 실행 하는 것을 방지하는 역할) 해주는데 쓰인다. 그래서 현재는 사용하지 않는 부분이다.
이 부분은 개발 환경 등에 따라 크기가 가변적이다. (MS-DOS Stub Program의 크기가 가변적이기 때문에 IMAGE_DOS_HEADER의 e_lfanew의 값이 가변적이게 되는 것이다. e_lfanew 필드의 값은 MS-DOS Stub Program 바로 다음의 offset 값을 가지기 때문이다.
반응형
'Information Technology > File Format' 카테고리의 다른 글
PE 코드섹션 흐름도 (0) | 2013.04.25 |
---|---|
IMAGE_NT_HEADERS - Signature (0) | 2013.04.24 |
IMAGE_NT_HEADERS (0) | 2013.04.24 |
IMAGE_DOS_HEADER (0) | 2013.04.24 |
Runtime Data Areas의 구조 (0) | 2013.04.18 |