Information Security ˗ˋˏ ♡ ˎˊ˗

Security/Reversing

[PE 파일] 구조(2) - PE 파일 헤더(DOS_HEADER, DOS Stud Code)

토오쓰 2020. 4. 9. 18:22

기초 정적 분석_PE 파일

notepad.exe(ver. Win 10)

 

 

 

Notepad.exe [IMAGE_DOS_HEADER]

첫번째 주소(5A4D): 앞에서 4D5A로 표현되어 있는데 이것을 보고 리틀엔디안인지 빅엔디안인지 알 수 있다.

Window System에서는 리틀엔디안이 사용되기 때문에 역순으로 적혀있다. 헤더에서 signature 정보(MZ)

 

 

 

winnt.h [IMAGE_DOS_HEADER]

 

단위: WORD(16진수를 4자리씩 끊어서 읽음)

IMAGE_DOS_HEADER 내용은 거의 0으로 패딩된 것을 볼 수 있다.

그 중에서 중요한 정보

e_magic

- 4D 5A(MZ): PE파일 구조_실제로는 5A 4D로 읽는다.

D0 CF 11 E0(OLE), 50 4B(ZIP), 25 50 44 46(PDF), 89 50 4E 47(PNG)

e_lfanew

000000F8: IMAGE_NT_HEADER 시작주소

실제 이 파일이 어디서부터 시작하는 지 알려주는 주소(offset)가 표시된다.

 

시작 지점에 가서 보면 PE라는 문자열이 있는 것을 확인할 수 있다.

 

 

 

DOS Stud Code

윈도우에서 실행되는 파일임을 알 수 있다.

실행하지 않아도 정적분석을 통해서도 이것이 DOS mode에서 실행되는지 윈도우 모드에서 실행되는 지를 확인할 수 있다.

 

 

 

winnt.h [NT_Header]

첫번째 부분: signature(=PE)

두번째 부분: IMAGE_FILE_HEADER

 

 

 

winnt.h [IMAGE_FILE_HEADER]

세번째: TimeDateStamp, 프로그램이 생긴 시간

 

 

다음 설명으로

https://t-okk.tistory.com/39?category=819930

 

PE 파일 구조(3) - PE 파일 헤더(NT_Header)

기초 정적 분석_PE 파일 notepad.exe(ver. Win 10) NT_Header 첫번째 signature : 4byte공간 PE구조 파일 명시 50 45: PE(아스키) 두번째 File_Header 1. Machine(CPU): 0x8664-AMD64 CPU/0x014c-Intel CPU 호..

t-okk.tistory.com