我如何知道IMAGE_THUNK_DATA数组何时终止?

时间:2013-09-18 08:07:44

标签: c++ c windows portable-executable

当IMAGE_IMPORT_DESCRIPTOR结构填充全零时,IMAGE_IMPORT_DESCRIPTOR数组终止。

每个IMAGE_IMPORT_DESCRIPTOR结构都有2个成员,OriginalFirstThunk和FirstThunk,它们包含一个并行IMAGE_THUNK_DATA数组的RVA。

IMAGE_THUNK_DATA数组是否也以最后用零填充的IMAGE_THUNK_DATA结构终止?

1 个答案:

答案 0 :(得分:0)

Matt Pietrek article包含您需要的信息:

  

每个IMAGE_IMPORT_DESCRIPTOR通常指向两个   相同的数组。这些数组已被多个名称调用,但是   两个最常见的名称是导入地址表(IAT)和   导入名称表(INT)。图6显示了导入一些的可执行文件   来自USER32.DLL的API。

     

两个数组都有IMAGE_THUNK_DATA类型的元素,它是一个   指针大小的联合。每个IMAGE_THUNK_DATA元素对应一个   从可执行文件导入的函数。两个数组的末端都是   由IMAGE_THUNK_DATA元素指示,值为零。