我有一个与dll文件集链接的应用程序。我隐式加载DLL而不经历不安全的LoadLibrary()调用。我正在考虑使用证书文件对DLL进行签名,以避免DLL劫持。我怀疑如何隐式链接检查我的DLL是否已签名。
答案 0 :(得分:2)
您应该使用MANIFESTDEPENDENCY链接器选项添加清单依赖项,并将publicKeyToken
设置为用于签名dll的密钥。
例如像这样:
/manifestdependancy:type='win32' name='mydll' language='*' publicKeyToken='1234567890ABCDEF0'
除非存在符合上述条件的dll,否则Windows将拒绝加载您的应用程序。