Reversing/PE File Format2012. 11. 11. 23:03

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
Posted by slimV