PE File Format 0x06
0x01. EAT (Export Address Table)
Windows에서 제공하는 WinNT.h의 _IMAGE_EXPORT_DIRECTORY 구조체입니다.
EAT는 library에서 제공하는 함수를 다른 프로그램에서 불러 쓸 수 있도록 해줍니다.
EAT를 통해 library가 export 하는 함수의 시작 주소를 구할 수 있습니다.
EAT는 PE header에서 Optional header의 Data directory[0]을 따라가면 찾을 수 있습니다.
EAT에서 중요한 부분을 하나씩 살펴보도록 하겠습니다.
NumberOfFunctions // 실제 export 함수의 개수를 나타냅니다.
NumberOfNames /* Export 함수 중에서 이름을 가지는 함수의 개수를 나타냅니다.
NumberOfFunctions보다 작거나 같습니다. */
AddressOfFunctions /* Export 함수 주소 배열을 가리키고 있습니다.
배열의 원소 개수는 NumberOfFunctions와 동일합니다. */
AddressOfNames /* 함수 이름 주소 배열을 가리키고 있습니다.
배열의 원소 개수는 NumberOfFunctions와 동일합니다. */
AddressOfNameOrdinals /* Ordinal 주소 배열을 가리키고 있습니다.
배열의 원소 개수는 NumberOfFunctions와 동일합니다. */
0x02. Get APIs' Address
EAT가 export 된 함수들을 가리키고 있는 것을 그림으로 나타낸 것입니다.
Export된 함수들의 각 정보를 가진 RVA list들을 가리키고 있는 것을 확인할 수 있습니다.
'Reversing > PE File Format' 카테고리의 다른 글
RVA & RAW (0) | 2012.11.12 |
---|---|
PE File Format 0x05 (0) | 2012.11.07 |
PE File Format 0x04 (0) | 2012.10.31 |
PE File Format 0x03 (0) | 2012.10.29 |
PE File Format 0x02 (0) | 2012.10.29 |