如果我使用导入库来实现与 Windows 系统 dll 的加载时动态链接,将使用哪个目录搜索顺序?
它最终是否等同于LoadLibrary("Iphlpapi.dll")
?它会使用完全限定的路径(即LoadLibrary("C:\\windows\\system32\\Iphlpapi.dll")
?
一些常用的 dll(“已知 dll”)显然得到了特殊处理,但其他系统dll,如 Iphlapi.dll 呢?
它是否容易受到DLL 预加载攻击?
从您提到的 URL,您正在使用动态链接库机制的静态版本!这意味着您的应用程序必须使用 DLL 的相应 LIB 构建(请参阅此 URL 中的说明),并且应用程序将期望 DLL 在启动时存在。如果缺少此 DLL,您的应用程序将不会启动(这就是为什么此机制称为“使用加载时动态链接”)。您不能也不必调用 LoadLibrary。这将由加载程序自动完成(因为您的应用程序和 DLL 之间的依赖关系)已放入应用程序的所谓导入地址表 (IAT)。
它应该使用完全限定的路径,即(“C:\windows\system32\kernel.dll”)...