기초 정적 분석_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
'Security > Reversing' 카테고리의 다른 글
[PE 파일] 구조(4) - PE 파일 섹션(Section_Header .text) (2) | 2020.04.09 |
---|---|
[PE 파일] 구조(3) - PE 파일 헤더(NT_Header) (2) | 2020.04.09 |
[PE 파일] 구조(1) - PE파일 정의, 구조(PEview.exe) (2) | 2020.04.09 |
[Reversing 실습] abex’ crackme #1 (2) | 2020.04.01 |
[Reversing 실습] Little Endian 표기법 (305) | 2020.04.01 |