用导入表导入函数

1箭头指向导入表区域,这种方法用导入表找到函数。图中黄色部分为导入表中的一个IMAGE_IMPORT_DESCRIPTOR结构,用结构中的第一个成员(00000610处,通过桥1)来导入函数,如果想通过第四个成员(08200000桥2)来找到函数,则要通过IAT,080200000改变字节序00002008为一个RVA,0X00002008-0X00002000+0X00000600=0X00000608.该地址位于第一的IAT数据中,(5c200000)0x0000205c-0x00002000+0x00000600=0x0000065c,跟箭头4指向了同一位置。


蓝色与紫色路线是  IMAGE_IMPORT_DESCRIPTOR  .FirstThunk(桥2) ,IMAGE_IMPORT_DESCRIPTOR  .OriginalFirstThunk(桥1),构成了双桥结构。共同维护一个相同的函数地址,当模块加载到一个不按预期的IMAGEBASE中  ,IAT中IVA会改变,这样桥2会断链,用桥1仍然能成功定位函数。

如果DLL没有按照

你可能感兴趣的:(用导入表导入函数)