如何隐式加载仅签名的DLL

时间:2018-09-18 10:07:19

标签: c++ windows dll

我有一个与dll文件集链接的应用程序。我隐式加载DLL而不经历不安全的LoadLibrary()调用。我正在考虑使用证书文件对DLL进行签名,以避免DLL劫持。我怀疑如何隐式链接检查我的DLL是否已签名。

1 个答案:

答案 0 :(得分:2)

您应该使用MANIFESTDEPENDENCY链接器选项添加清单依赖项,并将publicKeyToken设置为用于签名dll的密钥。

例如像这样:

/manifestdependancy:type='win32' name='mydll' language='*' publicKeyToken='1234567890ABCDEF0'

除非存在符合上述条件的dll,否则Windows将拒绝加载您的应用程序。