Ste*_*hen 6 delphi security dll winapi setdlldirectory
我想通过访问当前工作目录来防止加载恶意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';
Run Code Online (Sandbox Code Playgroud)
调用 SetDllDirectory('') 不起作用?我看到它在最新版本的 Windows.pas 中被正确声明。如果您有一个未声明的 Delphi 版本,您可以升级到最新版本的 Delphi,或者自己声明它。
更新:然后你去... Jens 刚刚发布了声明。