强制我的软件使用特定位置的DLL

时间:2017-11-10 09:58:25

标签: c++ windows dll

有一个程序使用我的DLL,它现在与软件所在的文件夹相同,因此它会自动使用它。

如何强制我的软件仅在其所在的文件夹中搜索此特定DLL?

我想阻止某人在我的位置种植他们的DLL,从而窃取程序中的信息。我可以按位置验证DLL,但我不确定如何阻止程序从其他位置获取DLL。

换句话说,如何防止某人从软件文件夹中删除我的DLL并将其DLL插入其中一个操作系统文件夹中,默认情况下程序搜索DLL并且我的程序找不到在它的文件夹中的文件,它将开始在Windows的一般位置搜索它,DLL将等待它。

简而言之,我的问题是:

A有没有办法阻止我的软件在任何不是我正在运行的文件夹的文件夹中查找特定的DLL?

B程序在Windows中查找DLL的所有地方是什么(默认情况下我会过去所有人并确保没有“礼物”)

由于

1 个答案:

答案 0 :(得分:1)

在构建时不要与DLL链接。相反,您可以使用LoadLibrary API(或LoadLibraryEx,如果您想要更多控制权)通过提供要加载的DLL的确切路径,在代码中自己加载DLL。