-
PE 구조 (8) - 계산기의 PE 구조 / IMAGE OPTIONAL HEADER - IMAGE DATA DIRECTORY 분석Knowledge/Reversing 2019. 9. 29. 17:21
오늘의 글은 IMAGE DATA DIRECTORY 분석 글이다.
복습차원에서 IMAGE DATA DIRECTORY의 배열의 정의된 의미를 확인해보자.
#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory
#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory
#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory
#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory
#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory
#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 // Base Relocation Table
#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 // Debug Directory
// IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 // (X86 usage)
#define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE 7 // Architecture Specific Data
#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 // RVA of GP
#define IMAGE_DIRECTORY_ENTRY_TLS 9 // TLS Directory
#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 // Load Configuration Directory
#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 // Bound Import Directory in headers
#define IMAGE_DIRECTORY_ENTRY_IAT 12 // Import Address Table
#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 // Delay Load Import Descriptors
#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14 // COM Runtime descriptor#define IMAGE_DIRECTORY_ENTRY_RESERVED 15 // Reserved Directory
그리고 전에 계산식 글에서 본 내용이지만 1번 인덱스 값에는 IAT의 주소가 존재하는데 그 값을 확인해보았음으로 여기서는 넘어가도록 하자.
그리고 이 IAT는 굉장히 중요한 내용으로 다음 글에서 자세히 다루도록 하겠다.
이 글에서는 EXPORT(0), IMPORT(1), RESOURCE(2), TLS(9)만 집중해서 보면 된다.
[0] 값인 export(EAT)는 존재하지 않았다.
EAT는 외부에서 이 녀석을 참고 할 수 있도록 하는 핵심으로 보통 라이브러리의 dll&sys파일들에 이 값이 존재합니다.
[1]값인 IAT는 12B80임으로 11F80으로 가서 찾았다.
[2] 값인 Resource를 확인해보면 00 60 01 / 38 87로
16000이란 RVA와 8738의 size를 갖고 있는 것을 확인할 수 있다.
RAW를 확인해서 찾아가보면 13600에 있다.
굉..굉장히 길다....
이제 TLS인 [9]를 보자.
공교롭게도 값이 없다. 고로 넘어간다.
다만 [12]인덱스도 IAT로 정의되어 있다.
이 녀석은 어떤 녀석인지 잘 모르겠다..
혹시 아시는분이 계신다면 댓글로 알려주시면 정말 감사드릴것같아요 ㅠㅠ
이렇게 image data directory배열 분석도 끝이 났다.
'Knowledge > Reversing' 카테고리의 다른 글
팀블로그에 안티 디버깅 관련 주제를 포스팅 하였습니다. (0) 2020.01.21 팀블로그에 어셈블리 주제 관련 글을 포스팅 하였습니다. (0) 2019.11.27 PE 구조 (7) RVA to RAW 변환 방법 (2) 2019.09.28 PE 구조 (6) - 계산기의 PE 구조 / SECTION Header (0) 2019.09.26 PE 구조 (5) - 계산기의 PE 구조 / NT HEADER - IMAGE OPTIONAL HEADER 분석 (0) 2019.09.25