有"First“(FT),加载程序在执行后用正确的地址覆盖它。
但是当PE使用OFT的时候?
体育需要它吗?
发布于 2018-06-05 09:17:40
让我在这里为你总结很多事情。例如,当您加载一个库,然后尝试从类似于Milad.dll的库调用一个函数时,windows操作系统的动态加载程序必须解析MPrint函数的地址,然后调用它。操作系统如何解析该函数的地址?
窗户经过一些非常复杂的东西,我想用简单的舌头告诉你这些步骤。windows OS中解析DLL中函数地址的动态加载程序必须检查Import (INT)、(IOT)和Import (IAT)表。这些表由AddressOfNames、AddressOfNamesOrdinal和AddressOfFunction成员在导出目录中指向PE结构.
操作系统在目标进程的地址空间中加载Milad.dll后,利用LoadLibrary在进程的目标地址空间中填充INT、IOT和IAT表,并进行计算。
流程结构中有一个包含OriginalFirstThunk、TimeDateStamp、ForwarderChain、Name、FirstThunk的important数组,这些成员指向一些重要的地址。
这是一个简单的解释,复杂的东西,装载机所做的解决地址在DLL中通过名称,OFT(INT)和FT成员在Image_Import_Data。
https://stackoverflow.com/questions/42413937
复制相似问题