우리는 평소 메모장을 많이 씁니다.
그래서 PEview를 통해 메모장을 분석해봤습니다.
-PEview에서 메모장을 열었습니다.
:4D 5A가 먼저 적힘을 보아 little Endian을 통해, 시작점이 5A4D임을 확인할 수 있었습니다.
:Value에서 ‘}’을 통해 표시한 부분에서 “This program cannot be run in Dos mode”라는 것을 보아 이 프로그램은 DOS 모드에서 실행될 수 없는 것을 볼 수 있습니다.
-IMAGE_DOS_HEADER
:Value에서 IMAGE_DOS_SIGNAATURE MZ라고 적힌 것을 보아, exe파일임을 확인할 수 있습니다.
:e_magic필드에서 4D 5A로 PE파일 구조임을 확인할 수 있습니다.
:e_lfanew필드-가리키는 0xF0으로 가면 PE가 있음을 확인할 수 있습니다. 여기서 한번 더 PE 파일임을 알려줌을 확인할 수 있습니다.
-MS-DOS Stub Program
NT_Header
Signature, IMAGE_FILE_HEADER, IMAGE_OPTIONAL_HEADER로 이루어진 것을 볼 수 있었습니다.
:Signature에서 PE구조 파일이 명시된 것을 볼 수 있었습니다.
(file header)
Machine |
0x014C - I386 CPU호환 |
Number of Sections |
0x06 |
Time Date Stamp |
0x93B4E8FA |
Pointer to Symbol Table, Number of Symbols |
000000000 |
Size Of Optional Header |
0xE0(32bit) |
Characteristics |
0x102 파일형식 정보 |
: FILE_HEADER에서 위의 정보를 확인할 수 있었습니다.
(Optional_header)
값 |
이름 |
의미 |
0x10B |
Magic |
32구조체 |
0x1FC00 |
Size of Code |
코드 영역의 크기 |
0x1F8D0 |
Address Of Entry Point |
프로그램 시작되는 코드의 주소. |
0x1000 |
Base Of Code |
코드 영역이 시작되는 상대 주소(RVA) |
0x400000 |
Image Base |
PE파일이 메모리에 로드되는 시작 주소 |
0x1000 |
Section Alignment |
메모리에서 섹션의 최소 단위. |
0x200 |
File Alignment |
파일에서 섹션의 최소 단위 |
0x2B000 |
Size Of Image |
PE파일이 메모리에 로딩될 때 전체 크기 |
0x400 |
Size Of Header |
모든 헤더의 크기 |
0x02 |
Sub System |
2임을 보아 GUI |
0x10 |
Number Of Rva And Sizes |
Data Directory의 구조체 멤버 개수 |
:Optional_Header의 내용을 위의 Raw Data에서 확인할 수 있습니다.
-Section_Header
값 |
멤버 |
의미 |
0x747865742E |
Name |
섹션 이름.text |
0x1FB50 |
Virtual Size |
메모리 섹션 크기 정보 |
0x1000 |
RVA(Virtual Address) |
메모리 섹션의 시작 주소 |
0x1FC00 |
Size of Raw Data |
파일에서의 섹션 크기 |
0x400 |
Pointer to Raw Data |
파일에서의 섹션의 시작 위치 |
0x60000020 |
Characteristics |
읽고 쓰기가 가능한 코드 섹션 |
위의 Raw Data에서 위의 표로 정리된 내용을 확인할 수 있습니다.
이렇게 메모장을 분석해보는 시간을 가졌네요!
'리버싱' 카테고리의 다른 글
[CodeEngn]코드엔진 basic RCE L04 (0) | 2020.07.21 |
---|---|
[CodeEngn]코드엔진 basic RCE L 03 (0) | 2020.07.20 |
[CodeEngn]코드엔진 basic RCE Level 02 (0) | 2020.07.19 |
[CodeEngn]코드엔진 Basic RCE Level01 (0) | 2020.07.18 |
[Reversing]ollydbg로 시작주소와 main함수 확인하기 (0) | 2020.04.02 |