我想防止通过访问当前工作目录来加载恶意 DLL,如 http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx 中所述。
我们的 C++ 应用程序中实现的解决方案是对 SetDllDirectory("") 进行 WinAPI 调用,这将有效地从 Windows DLL 加载搜索路径中删除当前工作目录。然而,这个解决方案似乎不适用于我们的 Delphi 应用程序,因为 SetDllDirectory() 函数不存在。
Delphi 中是否有等效的调用与 SetDllDirectory("") 执行相同的操作?谢谢!
最佳答案
这应该可以解决问题:
function SetDllDirectory(lpPathName:PWideChar): Bool; stdcall; external 'kernel32.dll' name 'SetDllDirectoryW';
关于security - 如何在Delphi中调用WinAPI函数SetDllDirectory()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4047307/