如何停止对辅助隐式加载 DLL 的 DLL 劫持

2024-04-20

例如,COMDLG32.DLL 隐式链接到以下系统 DLL(以及其他): xmllite.dll dll srvcli.dll wkscli.dll 链接信息库 netutils.dll 微星.dll

由于这些是由操作系统隐式加载的,而不是使用 LoadLibrary 调用显式加载的,因此劫持漏洞解决方法使用SetDllDirectory不影响加载 COMDLG32.DLL 时正在完成的这些加载。

因此,在加载我的应用程序后,我按 Ctrl+O 使用“文件打开”对话框,这些“坏”DLL(存在于我的 EXE 文件夹中)将被加载。

COMDLG32.DLL 正在加载我的 EXE 文件夹中的文件,而不是系统文件夹中的合法文件,即使我正在调用SetDllDirectory(""); in InitInstace()早在我启动“文件打开”对话框之前。

如何让系统 DLL(例如 COMDLG32.DLL)正确利用正确的 DLL 来隐式加载 DLL?


SetDllDirectory("")从 DLL 搜索路径中删除当前/工作目录,它确实not对应用程序目录(.exe 所在的位置)有任何影响。

您可以致电SetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_SYSTEM32) https://msdn.microsoft.com/en-us/library/windows/desktop/hh310515(v=vs.85).aspx如果您想将自己限制在 system32 目录中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何停止对辅助隐式加载 DLL 的 DLL 劫持 的相关文章

  • Mono 无法保存用户设置

    我在 Mono Ubuntu 上保存用户设置时遇到问题 这是代码示例 private void Form1 Load object sender EventArgs e string savedText Properties Setting
  • Delphi中使用FindVCLWindow调用WinHelp32(WinXP Pro SP3 32bit)

    有什么问题吗 procedure TForm1 VCLHelpClick Sender TObject var Ctrl TWinControl begin Ctrl FindVCLWindow Mouse CursorPos if Ctr
  • 如果.Net Core可以在Windows上运行,为什么不能在.Net Framework中引用.Net Core DLL?

    我明白为什么 Net Framework 可能会在 Net Core IE 中导致问题 因为不存在特定于 Windows 平台的 API 但是为什么不能直接引用 Net Core 作为 Net Framework 中的库呢 如果 Net C
  • 捕获 foreach 条件中抛出的异常

    我有一个foreach在 foreach 本身的条件下循环期间中断的循环 有没有办法try catch抛出异常然后继续循环的项 这将运行几次 直到异常发生然后结束 try foreach b in bees exception is in
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • TextBox 焦点的 WinForms 事件?

    我想添加一个偶数TextBox当它有焦点时 我知道我可以用一个简单的方法来做到这一点textbox1 Focus并检查布尔值 但我不想那样做 我想这样做 this tGID Focus new System EventHandler thi
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 在Windows 7上安装curl后缺少libcurl-4.dll

    按照这个人的安装curl后指示 https stackoverflow com a 28757477 1186038 除了第 2 步 已安装Win64 OpenSSL v1 0 1u 轻型相反 因为下载页面中缺少版本 k http slpr
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 如何排列表格中的项目 - MVC3 视图 (Index.cshtml)

    我想使用 ASP NET MVC3 显示特定类型食品样本中存在的不同类型维生素的含量 如何在我的视图 Index cshtml 中显示它 an example 这些是我的代码 table tr th th foreach var m in
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 运行代码首先迁移更新数据库时出错

    我在迁移到数据库时遇到问题 并且似乎找不到我遇到的错误的答案 System MissingMethodException Method not found System Data Entity Migrations Builders Tab
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS

随机推荐

  • 刷新幻灯片

    我使用的是来自http www slidesjs com http www slidesjs com 我想刷新图像列表 因为我需要动态添加和删除图像 有什么办法可以做到这一点吗 我尝试使用删除 fn pluginName 但没有成功 Tha
  • 着色器/矩阵问题 - 看不到对象

    我试图在屏幕上放置一个立方体并点亮它 我想要在立方体上添加 phong 阴影 当我运行代码时 我可以看到背景图像 但看不到立方体 我相当确定立方体本身是正确的 因为我已经设法用纯色着色器显示它 我已经设法编译着色器程序 但我根本看不到立方体
  • 保存哈夫曼代码时出现问题?

    我想将霍夫曼代码保存到文件中 我怎样才能做到这一点 我将霍夫曼代码保存到字符串中 但生成的文件的大小比原始文件大 一种非常简单的方法是一次写一点 如下所示 unsigned char acc Accumulator of bit waiti
  • 添加按键侦听器并使用 Javascript 单击 Greasemonkey 中的链接

    我想创建一个greasemonkey 脚本 它将在一个邮件站点中添加用于注销操作的快捷键 当前注销链接 注销 hl en 其中有一个id r5 我能够获取链接的节点 但无法调用单击它 我尝试了如下脚本 function key event
  • 我如何找到字符串中多个子字符串的位置(Python 3.4.3 shell)

    以下代码显示 word 在字符串中出现一次的位置 我如何更改我的代码 以便如果 单词 在字符串中出现多次 它将打印所有位置 string input Please input a sentence word input Please inp
  • 使用 Firebase SDK v3 中的数据库密钥进行身份验证?

    首先 我喜欢新的 Firebase 但是 我无法让我的 Swift 项目连接到 Firebase 因为我使用数据库机密来验证设备 在 Firebase SDK 版本 3 之前 我可以使用 Firebase 密钥 现在是数据库密钥 进行身份验
  • 汉诺塔递归算法

    我在理解这个河内塔递归算法时遇到问题 public class MainClass public static void main String args int nDisks 3 doTowers nDisks A B C public
  • 辅助功能:仅限 sr 或 aria-label

    From MDN https developer mozilla org en US docs Web Accessibility ARIA ARIA Techniques Using the aria label attribute 在下
  • Laravel phpunit 异常处理

    我正在使用 Laravel 5 5 和 Vue js 编写一个 Web 应用程序 PHPUnit 版本是 6 3 1 当用户使用表单请求注册时 我正在测试验证错误 Route web php Route post register Auth
  • Rails::Railtie:创建 Rails 3 gem 时遇到问题

    我真的可以用另一双眼睛来看待这个问题 所以我想我会把它发布在这里 不久前 我出于自己的教育目的编写了一个基本的 ActiveRecord 扩展 我最近一直在阅读有关 Railties 的内容 并想尝试让它与 Rails 3 一起工作 我想我
  • Swift 与 Objective C 指针操作问题

    我在 Objective C 中有这段代码 运行良好 list controller gt audioBufferList list gt mBuffers 0 mDataByteSize inNumberFrames kSampleWor
  • 导入Stanford nlp Intellij

    我在使用斯坦福词形还原器时遇到问题 当我使用 Intellij IDE 时 我尝试通过依赖项 Windows 导入它 但我无法通过这种方式访问 所有类 有没有办法在 Intellij 上正确导入 stanford english coren
  • 使用随机数生成引擎

    我正在尝试使用兰德 字节 https www openssl org docs crypto rand htmlOpenSSL 的 API 但我想尝试使用各种随机数生成引擎 在 OpenSSL 中是否有推荐的生成随机字节并添加熵的方法 我在
  • 模型无法通过烧瓶迁移检测到

    我的烧瓶应用程序中有这棵树 api migrations model init py Persons py Comments py other classes py resources init py app py util py This
  • 如何更新实体?

    我之前有一个更详细的问题 但我没有答案 我将以更简单的方式提出同样的问题 I have an EF database with foreign key to another table 我想UPDATE an ENTITY 但我需要这样 我
  • 如何定期更新WebView中的HTML5位置(使用FINE_ACCURACY)

    我正在开发一个应用程序来跟踪我的手机定期 不仅是第一次 with navigator geolocation getCurrentPosition 运行在 HTML5 页面中 运行在 webkit webview 中 运行在 android
  • SpringFramework:预期有一个匹配的 bean,但发现了 2 个

    我正在构建一个使用 SpringFramework 从 MongoDB 读取数据的项目 其结构为存储库 and Service如下 Repository Interfaces I
  • 将安装文件打包为单个可执行安装程序

    我有一个用 C 编写的旧程序的旧设置 其中包含多个安装文件 SETUP 1 SETUP DLL INST32I EX ISDEL EXE SETUP EXE DISK1 ID SETUP INI SETUP INS SETUP LIB SE
  • UITableView 的本地化索引

    我正在尝试为我的 UITableView 使用本地化索引 就像 iPhone 的联系人应用程序一样 这是我返回字符数组的方法 NSArray sectionIndexTitlesForTableView UITableView tableV
  • 如何停止对辅助隐式加载 DLL 的 DLL 劫持

    例如 COMDLG32 DLL 隐式链接到以下系统 DLL 以及其他 xmllite dll dll srvcli dll wkscli dll 链接信息库 netutils dll 微星 dll 由于这些是由操作系统隐式加载的 而不是使用