OrdinalFirstThunk

typedef struct _IMAGE_THUNK_DATA32 {
union {
PBYTE ForwarderString;
PDWORD Function;
DWORD Ordinal;
PIMAGE_IMPORT_BY_NAME AddressOfData;
} u1;
} IMAGE_THUNK_DATA32;

 

对于OrdinalFirstTunk有两种情况,Ordinal和AddressOfData,如果OridinalFirstThunk(是RVA还得转成RAW)指向的DWORD数据的最高位是1的话,表明是通过序数值来获得该函数的地址的,低31位是序数,如果最高位是0的话,则是通过函数名来获得该函数的地址的,此时这个DWORD数据是一个指向IMAGE_IMPORT_BY_NAME结构的RVA。

 

IMAGE_IMPORT_BY_NAME  struct

{

  WORD Hint  ;该引入函数在对应的DLL输出表中的Hint值。

  BYTE  name ;这是个可变的字符串,用来存放函数名,

}

 

 

 

posted @ 2012-07-25 00:49  shremie  阅读(354)  评论(0编辑  收藏  举报