强制我的软件从特定位置使用DLL
Force my software to use the DLL from a specific location
有一个程序使用我的DLL,它现在位于软件的同一文件夹中,因此它会自动使用它。
如何强制我的软件只在它所在的文件夹中搜索这个特定的DLL?
我想防止有人把DLL放在我的位置,从而从程序中窃取信息。我可以通过位置验证DLL,但我不知道如何防止程序从另一个位置获取DLL。
换句话说,如何防止有人从软件的文件夹中删除我的DLL,并将其DLL插入程序默认搜索DLL的操作系统文件夹之一,当我的程序在其文件夹中找不到文件时,它将开始在Windows的一般位置搜索它,DLL将等待它。他做了
简而言之,我的问题是:
A有没有办法防止我的软件在任何不是我运行的文件夹的文件夹中查找特定的DLL?
B程序在Windows中查找DLL的所有地方都是什么(默认情况下,我只会检查每个人,确保没有"礼物")
感谢
只是在构建时不要与DLL链接。相反,您可以在代码中使用LoadLibrary
API(如果需要更多控制,则使用LoadLibraryEx
)自行加载DLL,方法是给出要加载的DLL的确切路径。
相关文章:
- 是否可以将要"ShellExecute"的文件包含在 dll 中?如果是这样,"ShellExecute"中的文件位置应该是什么?
- C++将包含的库 (ref DLL) 从根目录更改为另一个位置
- 在 DLL 中嵌入 Python:Py_DECREF列表对象时访问冲突读取位置
- 指定Qt查找OpenSSL DLL的位置
- 柯南如何帮助CMake找到DLL的位置
- 访问违规读取位置传递指针以在c中写入的DLL中起作用
- dll 外壳扩展如何知道要执行的程序位置?
- 在 "<name>.exe" 中0x00007FFF168E1657 (vcruntime140d.dll) 引发异常:0xC0000005:访问冲突写入位置0x0000000000000
- DLL代理呼叫负载载体原因例外:访问违规阅读位置0x00000250
- 强制我的软件从特定位置使用DLL
- OpenGL:glDrawArrays()引发异常(nvoglv32.dll)读取位置0x00000000时发生访问冲突
- 在0x77081D76(ntdll.dll)中未经处理的例外.Exe:0xc0000005:访问违规写作位置0x0000
- Excel VBA中C++DLL位置存在无法解释的行为
- 发生 JNI 调用 c++ dll "不满意链接错误: 对内存位置的无效访问"
- 在dll中调用LoadLibrary的位置
- 如何在代码lite中将dll位置更改为子目录
- C++设置 DLL 搜索位置
- 如何通知调试器运行时链接的 DLL 文件的位置
- 如何解决调用 dll 方法时的访问冲突写入位置
- 其中是调试信息(断点等)存储在本机C++dll项目VS2013中的位置