网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

微软FixIt可修复百余第三方厂商软件DLL问题

    微软最近更新了其帮助中心的FixIt工具,增加了解决机器故障的方法,FixIt利用脚本来实现针对计算机的微调以解决配置参数不对所导致的各种系统问题。对于最近的DLL劫持威胁,微软刚刚在FixIt上做出了改进,以避免系统被攻击者控制,受影响的产品包括Mozilla的Firefox和Thunderbird,PowerPoint,Opera和NVIDIA的图形程序等,不过微软尚未确认哪些应用程序最容易受到攻击。

    本更新介绍了一个新的注册表项 CWDIllegalInDllSearch,该注册表项允许用户控制 DLL 搜索路径算法。在不指定完全限定路径的情况下加载 DLL 时,LoadLibrary API 和 LoadLibraryEx API 将使用 DLL 搜索路径算法。

    此更新允许管理员在系统范围内或在每个应用程序基础上定义以下内容:

    从库搜索路径中删除当前工作目录。

    防止应用程序从 WebDAV 位置加载库。

    防止应用程序从 WebDAV 和远程 UNC 位置加载库。

    CWDIllegalInDllSearch 注册表项的工作方式

    应用程序在不指定完全限定路径的情况下动态加载 DLL 时,Windows 将尝试在一组明确定义的目录中查找此 DLL。这组目录称为 DLL 搜索路径。Windows 在目录中找到该 DLL 后就会加载该 DLL。如果 Windows 按 DLL 搜索顺序没有在任何目录中找到 DLL,则会为 DLL 加载操作返回一个失败结果。

    LoadLibrary 函数和 LoadLibraryEx 函数用于动态加载 DLL。下面是这两个函数的 DLL 搜索顺序:

    从其中加载应用程序的目录

    系统目录

    16 位系统目录
 
    Windows 目录

    当前工作目录 (CWD)

    PATH 环境变量中列出的目录

    利用新引入的 CWDIllegalInDllSearch 注册表项,计算机管理员可以修改 LoadLibrary 和 LoadLibraryEx 所使用的 DLL 搜索路径算法的行为。此注册表项允许跳过某些类型的目录。

    可以在以下路径中添加 CWDIllegalInDllSearch 注册表项:

    将此注册表项用于计算机上的所有应用程序:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

    将此注册表项用于计算机上的特定应用程序:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\

    针对每个应用程序的注册表项始终会覆盖系统范围的设置。这就允许限制性地设置系统范围的设置。然后,再为不会正常影响系统范围设置的所有应用程序进行应用程序设置。

    例如,管理员可以通过将系统范围的设置设置为 2 来阻止从 WebDAV 和 SMB 加载 DLL,然后再通过将“图像文件执行选项”设置为 0 或 1 来更改要求此加载行为的特定应用程序的行为。

    CWDIllegalInDllSearch 注册表项的值按如下方式修改 LoadLibrary 和 LoadLibraryEx 的行为。

    情形 1:应用程序从本地文件夹启动,如 C:\Program Files

    收起该表格展开该表格CWDIllegalInDllSearch 值 LoadLibrary 和 LoadLibraryEx 中 DLL 搜索路径的行为

    0xFFFFFFFF 按默认 DLL 搜索顺序删除当前工作目录
 
    0 使用前面提到的默认 DLL 搜索路径

    1 如果当前工作目录设置为 WebDAV 文件夹,则阻止从当前工作目录加载 DLL

    2 如果当前工作目录设置为远程文件夹(如,WebDAV 或 UNC 位置),则阻止从当前工作目录加载 DLL

    无注册表项或其他值 使用前面提到的默认 DLL 搜索路径 
 
    情形 2:应用程序从远程文件夹启动,

    收起该表格展开该表格CWDIllegalInDllSearch 值 LoadLibrary 和 LoadLibraryEx 中 DLL 搜索路径的行为

    0xFFFFFFFF 按默认 DLL 搜索顺序删除当前工作目录

    0 使用前面提到的默认 DLL 搜索路径
 
    1 如果当前工作目录设置为 WebDAV 文件夹,则阻止从当前工作目录加载 DLL

    2 如果当前工作目录设置为远程文件夹(如,WebDAV 或 UNC 位置),则允许从当前工作目录加载 DLL。

    无注册表项或其他值 使用前面提到的默认 DLL 搜索路径

    情形 3:应用程序从 WebDav 文件夹启动

    收起该表格展开该表格CWDIllegalInDllSearch 值 LoadLibrary 和 LoadLibraryEx 中 DLL 搜索路径的行为

    0xFFFFFFFF 按默认 DLL 搜索顺序删除当前工作目录

    无注册表项或其他值 使用前面提到的默认 DLL 搜索路径 
 
    示例

    示例 1:对于本地计算机上安装的所有应用程序,如何禁止从 WebDAV 共享加载 DLL
 
    以管理员身份登录计算机。

    打开注册表编辑器。

    找到并单击下面的注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

    右键单击“Session Manager”,指向“新建”,然后单击“DWORD 值”。

    键入 CWDIllegalInDllSearch,然后单击“修改”。

    在“数值数据”框中,键入 1,然后单击“确定”。

    示例 2:对于本地计算机上安装的一个特定应用程序,如何禁止从 WebDAV 共享加载 DLL

    以管理员身份登录计算机。

    打开注册表编辑器。

    找到并单击下面的注册表子项:
 
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\

    如果不存在具有应用程序二进制名称的注册表项,则必须创建一个。

    右键单击“<应用程序二进制名称>”,指向“新建”,然后单击“DWORD 值”。

    键入 CWDIllegalInDllSearch,然后单击“修改”。

    在“数值数据”框中,键入 1,然后单击“确定”。

    示例 3:对于本地计算机上安装的一个特定应用程序,如何禁止从远程 (SMB) 共享加载 DLL

    以管理员身份登录计算机。

    打开注册表编辑器。

    找到并单击下面的注册表子项:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\

    如果不存在具有应用程序二进制名称的注册表项,则必须创建一个。

    右键单击“<应用程序二进制名称>”,指向“新建”,然后单击“DWORD 值”。

    键入 CWDIllegalInDllSearch,然后单击“修改”。

    在“数值数据”框中,键入 2,然后单击“确定”。
 

热门搜索:2866572 PS3612 DRV8313PWPR 2858043 UL800CB-15 PS-410-HGOEMCC TR-6FM 02M0500JF 6NX-6 PS-615-HG B40-8000-PCB B20-8000-PCB 2320306 LC2400 LS606M 2839237 SBB2808-1 LED24-C4 TLP606 2839570 RS-1215 TLP712B 2866666 02B1001JF UL17CB-15
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质