0x001 Programming/01. C | C++

[Windows] _IMAGE_EXPORT_DIRECTORY

KimSangLab 2017. 12. 29. 15:36

typedef struct _IMAGE_EXPORT_DIRECTORY
{
    DWORD Characteristics
    DWORD TimeDateStamp
    WORD MajorVersion
    WORD MinorVersion
    DWORD Name
    DWORD Base
    DWORD NumberOfFunctions
    DWORD NumberOfNames
    DWORD AddressOfFunctions   // 함수 주소 배열(EAX)
    DWORD AddressOfNames    //함수명 배열
    DWORD AddressOfNameOrdinals  //함수 서수 배열
} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY

 

 

1) 함수명 배열로 이동하여 원하는 함수의 이름과 해당 인덱스를 찾는다.
2) Ordinals 배열에서 인덱스에 해당하는 서수 인덱스 값을 찾는다.
3) EAT 배열에서 서수 인덱스에 해당하는 함수 offset을 확인한다.
4) DLL Base 주소와 offset을 합해 함수의 실제 주소 값을 구한다.