Jiyong's STUDY
[PE구조] IMAGE_DOS_HEADER 본문
IMAGE_DOS_HEADER에서 e_magic 필드는 현재 파일이 PE 파일인지 체크하는 역할만 한다.
e_magic==5A4D(IMAGE_DOS_SIGNATURE)이라면 PE 파일이 맞다.
IMAGE_DOS_SIGNATURE은 PE 파일의 가장 첫 번째 값이다.
PIMAGE_DOS_HEADER pDosHeader = (PIMAGE_DOS_HEADER)lpFileBase;
if (pDosHeader->e_magic != IMAGE_DOS_SIGNATURE) {
printf("It's not PE File format.\n");
}
위와 같이 e_magic과 IMAGE_DOS_SIGNATURE을 비교하여 같은 지 확인할 때만 사용한다.
0x5A4D (메모리에선 4D 5A로, 리틀엔디언)
e_lfanew는 IMAGE_NT_HEADER의 구조체 위치를 알아 내는 데 사용되는 값이다.
실질적인 PE의 오프셋이 어딘지 이 필드를 통해 지정하게 된다.
이외에는 시스템 프로그래밍 깊게 파는 거 아니면 볼 일이 없을 것.
'보안 > 리버싱, 어셈블리' 카테고리의 다른 글
[PE구조] IMAGE_FILE_HEADER (0) | 2020.08.03 |
---|---|
[PE구조] IMAGE_NT_HEADER (0) | 2020.08.03 |
함수 스택 규약 (0) | 2020.07.20 |
calc.exe 핸드레이 (0) | 2020.07.17 |
[기초] 스택프레임 구조 (0) | 2020.07.17 |