security - 如何在Delphi中调用WinAPI函数SetDllDirectory()?

标签 security delphi winapi dll 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';

关于security - 如何在Delphi中调用WinAPI函数SetDllDirectory()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4047307/

相关文章:

wcf - 如何使用表单例份验证和安全性对 WCF 调用进行身份验证

java - JSF 标准验证可以防止代码注入(inject)吗?

javascript - 在 JS Web 应用程序中,如何确保拥有访问 token 的恶意用户无法刷新它?

delphi - 检索尽可能多的文件类型的txt内容

c++ - C++ 中不存在从 "std::wstring"到 "LPWSTR"的合适转换函数

c - LVM_GETITEM 困惑

ios - 使用 Swift 生成 base64 url​​ 编码的 X.509 格式 2048 位 RSA 公钥?

delphi - 使用(winsock 的)recv 接收时 TStringStream 被损坏?

德尔福。使用 idHTTP 显示获取的内容。在多语言 Windows 中获取 Unicode 文本

c - 有没有更好的方法将格式化输出传递给 OutputDebugString?