PE文件的导入表

导入表

反汇编后,对MessageBox和ExitProcess函数的调用变成了对0040101A和00401020地址的调用,但是这两个地址显然是位于程序自身模块而不是DLL模块中,实际上,这是由编译器在程序所有代码的后面自动加上的Jmp dword ptr[xxxxxxxx]类型的指令,这个指令是一个间接寻址的跳转指令,xxxxxxxx地址中存放的才是真正的导入函数的地址。在这个例子中,00402000地址(内存地址)处存放的就是ExitProcess函数的地址。


PE文件的导入表_第1张图片

导入表由一系列的IMAGE_IMPORT_DESCRIPTOR结构组成


PE文件的导入表_第2张图片
装入内存之后,first thunk指向函数的入口地址

你可能感兴趣的:(PE文件的导入表)