com surrogate_什么是“ COM Surrogate”(dllhost.exe),为什么它在我的PC上运行?

2023-05-16

com surrogate

If you poke around in your Task Manager, there’s a good chance you’ll see one or more “COM Surrogate” processes running on a Windows PC. These processes have the file name “dllhost.exe”, and are part of the Windows operating system. You’ll see them on Windows 10, Windows 8, Windows 7, and even earlier versions of Windows.

如果在任务管理器中四处浏览,很有可能会在Windows PC上看到一个或多个“ COM Surrogate”进程。 这些进程的文件名为“ dllhost.exe”,并且是Windows操作系统的一部分。 您将在Windows 10,Windows 8,Windows 7甚至Windows的早期版本中看到它们。

This article is part of our ongoing series explaining various processes found in Task Manager, like Runtime Broker, svchost.exe, dwm.exe, ctfmon.exe, rundll32.exe, Adobe_Updater.exe, and many others. Don’t know what those services are? Better start reading!

本文是我们正在进行的系列文章的一部分,解释了在任务管理器中发现的各种过程,例如Runtime Broker , svchost.exe , dwm.exe , ctfmon.exe , rundll32.exe , Adobe_Updater.exe以及许多其他过程。 不知道这些服务是什么? 最好开始阅读!

什么是COM代理(dllhost.exe)? (What Is COM Surrogate (dllhost.exe)?)

COM stands for Component Object Model. This is an interface Microsoft introduced back in 1993 that allows developers to create “COM objects” using a variety of different programming languages. Essentially, these COM objects plug into other applications and extend them.

COM代表组件对象模型。 这是Microsoft早在1993年引入的界面,允许开发人员使用多种不同的编程语言创建“ COM对象”。 本质上,这些COM对象可插入其他应用程序并对其进行扩展。

For example, the Windows file manager uses COM objects to create thumbnail images of images and other files when it opens a folder. The COM object handles processing images, videos, and other files to generate the thumbnails. This allows File Explorer to be extended with support for new video codecs, for example.

例如,Windows文件管理器在打开文件夹时使用COM对象创建图像和其他文件的缩略图。 COM对象处理图像,视频和其他文件以生成缩略图。 例如,这使File Explorer可以扩展为支持新的视频编解码器。

However, this can lead to problems. If a COM object crashes, it will take down its host process. At one point, it was common for these thumbnail-generating COM objects to crash and take down the entire Windows Explorer process with them.

但是,这可能会导致问题。 如果COM对象崩溃,它将取消其宿主进程。 在某一时刻,这些生成缩略图的COM对象崩溃并带走它们的整个Windows资源管理器过程是很常见的。

To fix this sort of problem, Microsoft created the COM Surrogate process. The COM Surrogate process runs a COM object outside the original process that requested it. If the COM object crashes, it will only take down the COM Surrogate process and the original host process won’t crash. For example, Windows Explorer (now known as File Explorer) starts a COM Surrogate process whenever it needs to generate thumbnail images. The COM Surrogate process hosts the COM object which does the work. If the COM object crashes, only the COM Surrogate crashes and the original File Explorer process will keep on trucking.

为了解决这种问题,Microsoft创建了COM Surrogate进程。 COM Surrogate进程在请求它的原始进程之外运行COM对象。 如果COM对象崩溃,它将仅关闭COM Surrogate进程,并且原始宿主进程不会崩溃。 例如,Windows资源管理器(现在称为文件资源管理器)在需要生成缩略图时会启动COM代理过程。 COM Surrogate进程承载完成工作的COM对象。 如果COM对象崩溃,则只有COM Surrogate崩溃,并且原始的文件资源管理器进程将继续运行。

“In other words”, as official Microsoft blog The Old New Thing puts it, “the COM Surrogate is the I don’t feel good about this code, so I’m going to ask COM to host it in another process. That way, if it crashes, it’s the COM Surrogate sacrificial process that crashes instead of me process.”

正如微软官方博客The Old New Thing所说,“换句话说”,“ COM Surrogate是我对此代码不满意,因此我将要求COM在另一个过程中托管它。 这样,如果崩溃,则是COM Surrogate牺牲进程崩溃,而不是我进程。”

And, as you might have guessed, COM Surrogate is named “dllhost.exe” because the COM objects it hosts are .dll files.

而且,您可能已经猜到了,COM Surrogate被命名为“ dllhost.exe”,因为它托管的COM对象是.dll文件。

我如何知道一个COM代理托管在哪个COM对象上? (How Can I Tell Which COM Object a COM Surrogate Is Hosting?)

The standard Windows Task Manager doesn’t give you any more information about which COM object or DLL file a COM Surrogate process is hosting. If you want to see this information, we recommend Microsoft’s Process Explorer tool. Download it and you can just mouse-over a dllhost.exe process in Process Explorer to see which COM Object or DLL file it’s hosting.

标准Windows任务管理器不提供有关COM Surrogate进程承载哪个COM对象或DLL文件的更多信息。 如果要查看此信息,建议使用Microsoft的Process Explorer工具。 下载它,您只需将鼠标悬停在Process Explorer中的dllhost.exe进程上,即可查看它托管的COM对象或DLL文件。

As we can see in the screenshot below, this particular dllhost.exe process is hosting the  CortanaMapiHelper.dll object.

正如我们在下面的屏幕快照中看到的那样,该特定的dllhost.exe进程托管了CortanaMapiHelper.dll对象。

我可以禁用它吗? (Can I Disable It?)

You can’t disable the COM Surrogate process, as it’s a necessary part of Windows. It’s really just a container process that’s used to run COM objects that other processes want to run. For example, Windows Explorer (or File Explorer) regularly creates a COM Surrogate process to generate thumbnails when you open a folder. Other programs you use may also create their own COM Surrogate processes. All the dllhost.exe processes on your system were started by another program to do something that program wants done.

您不能禁用COM Surrogate进程,因为它是Windows的必需部分。 它实际上只是一个容器进程,用于运行其他进程要运行的COM对象。 例如,Windows资源管理器(或文件资源管理器)会定期创建COM代理进程,以在您打开文件夹时生成缩略图。 您使用的其他程序也可能会创建自己的COM Surrogate进程。 系统上的所有dllhost.exe进程均由另一个程序启动,以执行该程序想要完成的操作。

是病毒吗? (Is It a Virus?)

The COM Surrogate process itself is not a virus, and is a normal part of Windows. However, it can be used by malware. For example, the Trojan.Poweliks malware uses dllhost.exe processes to do its dirty work. If you see a large number of dllhost.exe processes running and they’re using a noticeable amount of CPU, that could indicate the COM Surrogate process is being abused by a virus or other malicious application.

COM Surrogate进程本身不是病毒,并且是Windows的正常部分。 但是,它可以被恶意软件使用。 例如, Trojan.Poweliks恶意软件使用dllhost.exe进程来完成其肮脏的工作。 如果您看到大量dllhost.exe进程正在运行,并且它们使用的CPU数量明显,则可能表明COM Surrogate进程已被病毒或其他恶意应用程序滥用。

If you’re concerned that malware is abusing the dllhost.exe or COM Surrogate process, you should run a scan with your preferred antivirus program to find and remove any malware present on your system. If your antivirus program of choice says everything is fine but you’re suspicious, run a scan with another antivirus tool to get a second opinion.

如果您担心恶意软件滥用了dllhost.exe或COM Surrogate进程,则应使用首选的防病毒程序运行扫描,以查找并删除系统上存在的任何恶意软件。 如果您选择的防病毒程序说一切正常,但是您很可疑,请使用另一个防病毒工具运行扫描以获得第二意见。

翻译自: https://www.howtogeek.com/326462/what-is-com-surrogate-dllhost.exe-and-why-is-it-running-on-my-pc/

com surrogate

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

com surrogate_什么是“ COM Surrogate”(dllhost.exe),为什么它在我的PC上运行? 的相关文章

  • 调用 Word.Documents.Add 后 WinWord.exe 不会退出 - Word .NET Interop

    我遇到了一个经典场景 即在 NET 中创建 Word COM 对象 通过 Microsoft Office Interop Word 程序集 时 WinWord 进程不会退出 即使我正确关闭和释放物体 http www xtremevbta
  • Java、Jacob 和 Microsoft Outlook 事件:收到“找不到事件 iid”错误

    我正在编写一个 Java 程序 它使用雅各布图书馆 http danadler com jacob 桥接 COM 和 Java 该程序创建了一个新的MailItem http msdn microsoft com en us library
  • 如何使用 ClickOnce 安装 COM

    我已经安装了使用 TeeChart ActiveX COM 使用 ClickOnce 绘制图表的组件 如果我使用 regsvr32 teechart8 ocx 手动注册 TeeChart 我的 应用程序工作正常 但我想要并且需要使用安装应用
  • C# - 检索 COM+ 组件的属性?

    我的服务器 Windows Server 2003 上有一个 COM 组件 有什么方法可以以编程方式检索该组件的属性 例如使用的构造函数字符串 当我转到管理工具 gt 组件服务 gt COM 应用程序并右键单击我的组件时 这些是我希望能够检
  • 免注册 COM - COM dll 相对于客户端 exe 的位置

    我想使用免注册 com 这样我就不必注册我的旧 com 组件 但是 我希望能够将 com dll 放在不在客户端 exe 目录中或之下的位置 例如 lib 我无法在服务器清单文件中执行此操作 因为它不允许相对或绝对路径 有谁知道是否有办法解
  • Excel 2013 COM API 在服务帐户下挂起 ExportAsFixedFormat

    我有一个 NET Windows 服务 它调用 Excel 2013 COM API 以在 PDF 上导出 Excel 文档 我已尝试使用在两个不同域帐户下运行的 Windows 服务来执行此代码 这两个帐户都是运行代码的计算机上的本地管理
  • OS/X 上的 iTunes COM 接口

    iTunes COM 接口在 Mac OS X 上可用吗 从我能找到的文档来看 它似乎比我可以通过以下方式公开的 Applescript 接口要广泛得多自动机程序 免责声明 这里绝对是 OS X 新手 COM 接口仅适用于 Windows
  • 基于非零的多维数组

    我正在使用以下命令从电子表格中提取单元格Interopt ExcelAPI 当我打电话时 object rangeValues object range get Value XlRangeValueDataType xlRangeValue
  • .NET WebBrowser 控件可以使用 IE9 吗?

    我意识到这是一个早期版本并且不稳定 我不会梦想在任何其他项目中将默认的 Web 浏览器控件替换为 IE9 但在这种情况下 我特别需要 IE9 与其他版本进行比较 我想让 NET WebBrowser 控件使用 IE9 而不是机器上默认版本的
  • 我刚刚在 Visual Basic 中运行的 COM 对象的 CLSID 是什么

    我需要知道我刚刚运行的 COM 对象的 CLSIDCreateObject xxx xxx 我怎么才能得到它 蒂亚 拉法尔 我认为您无法直接从 VB 本身获取该信息 例如 作为调用的副作用或次要结果 CreateObject 但你可以阅读注
  • 需要从 DCOM 配置中删除对象 (DCOMCNFG)

    我们有一个带有 activex exe 和 com dll 的应用程序 安装后 我们会在 DCOM 配置中创建一个对象 如果我们尝试从 DCOM 配置中删除该对象 它就会关闭 直到我们再次重新打开它 想知道是否有任何程序可以从 DCOM 及
  • 如何防止在 ActiveX 方法调用期间重新进入 WPF 事件处理程序?

    我们从 WPF 和 STA 应用程序中调用 ActiveX 组件上的方法 此调用是通过以下方式后期绑定执行的 res ocx GetType InvokeMember methodName flags null ocx args 其中 oc
  • 为什么我的 DLL 无法注册?

    我正在 VS2005 中构建一个项目 但我的几个 DLL 无法注册 我在 Visual Studio 中收到的错误消息是 项目 错误 PRJ0019 工具从 注册 ActiveX 控件 返回错误代码 这很模糊 当我通过命令行手动注册DLL时
  • 缺少嵌入互操作类型属性

    在一个 C 项目中 我收到以下警告 警告 CS1762 创建了对嵌入式互操作程序集 Interop SomeLibrary dll 的引用 因为间接引用了程序集 ALibraryOfMine dll 创建的该程序集 考虑更改任一程序集的 嵌
  • 使用 pywin32com 进行 opc 的内存泄漏

    我很难弄清楚如何解决内存泄漏问题 我认为这可能是 pywin32 的问题 但我不完全确定 我用于读取 写入单个项目的代码似乎工作得很好 但是当使用组函数时 它会慢慢泄漏内存 我怀疑这是来自必须在 server handles 中传递的基于
  • 如何将IDL导入到Delphi中?

    我如何导入接口定义语言 idl 文件存入Delphi 将类型和接口转换为 pascal 文件 我试过了 File Open 它只显示 idl 文本文件的文本 Project 添加到项目 它只是 就像 添加了一个 idl文本文件到项目 成分
  • 传统DLL与COM DLL的区别

    我目前正在学习COM 我发现 COM DLL 是建立在传统 DLL 基础结构之上的 当我们构建COM DLL时 我们仍然依赖传统的DLL导出方法来引导我们到达内部的COM共同类 如果COM是为了在二进制级别重用组件 我认为传统的DLL也可以
  • VB.NET会自动生成ComClass属性和guid吗?

    我运行过一些 VB NET 代码 这些代码显式创建三个 GUID 常量并在类的 ComClass 属性中使用它们 我过去只是通过检查项目选项中的 使 COM 可见 和 注册 COM 互操作 选项来编写 COM 感知类 这个显式代码是否根本没
  • ATL创建的COM接口继承IDispatch但后期绑定不起作用

    这是我的 IDL 文件 IFrame 是一个双接口 同时继承了 IDispatch 和 IUnknown object uuid C5AD0517 37FC 479C 9C7A A063B17E4A2E dual nonextensible
  • 将 HRESULT 转换为可读消息

    任何人都可以提供一些有关如何以编程方式翻译 HRESULT 的信息 http en wikipedia org wiki HRESULT http en wikipedia org wiki HRESULT 值到人类可读的消息 我知道实用程

随机推荐

  • 【TC297的定时器模块】

    目录 前言1 高级定时器CCU62 通用定时器GTM3 通用定时器GPT12 前言 英飞凌TC297的定时器模块非常丰富 xff0c 分别有有系统定时器STM xff0c CCU6高级定时器 xff0c GTM通用定时器 xff0c GPT
  • ping不通的解决办法,简单有效

    场景 xff1a 笔记本电脑启动服务 xff0c 告诉前端IP端口 xff0c 提供测试 问题 xff1a 前端无法访问服务 xff0c 经过ping本机IP地址 xff08 ping是一个DOS命令 xff0c 一般用作检测网络通与不通
  • 08-Java框架-SpringBoot整合thymeleaf

    一 thymeleaf介绍 Thymeleaf 是新一代 Java 模板引擎 xff0c 与 Velocity FreeMarker 等传统 Java 模板引擎不同 xff0c Thymeleaf 支持 HTML 原型 xff0c 其文件后
  • (二)Linux 防火墙----网络防火墙,NET,firewalld

    文章目录 六 网络防火墙综合实验 xff1a 七 NAT2 SNAT3 DNAT xff08 重点 xff09 xff08 端口映射 xff0c 只能一对一 xff09 4 转发 xff08 端口重定向redirect xff09 重点 八
  • 内网渗透-内网穿透&猕猴桃抓密码提权&烂土豆提权

    一 SQL注入getshell 1 直接SQL语法写文件 xff08 1 xff09 Mysql导出函数 xff1a into outfile into dumpfile 可以写16进制写入 xff08 2 xff09 1290的安全性报错
  • windows10系统超全优化方法

    转自 xff1a 微点阅读 https www weidianyuedu com 度过了最初使用win10的各种不习惯 xff0c 解决了很多win10使用中的问题 今天微点阅读小编带大家看看 调教 win10的方法 xff01 希望对小伙
  • .gitignore配置

    经常在win和mac上切换开发环境 xff0c 导致从GitHub上拉代码 xff0c idea就要一直配置依赖等东西 xff0c 很多本地配置也被自动 后面发现是 gitignore 文件没有隐藏相关文件 xff0c 如下配置 xff1a
  • 机器学习算法——K-近邻算法(代码实现手写数字识别)

    0 引言 xff0c K 近邻算法是一种非常有效的分类算法 xff0c 它非常有效且易于掌握 原理 xff1a K 近邻算法通过计算不同样本之间的距离来分类物品 使用前 xff0c 我们需要有一个训练样本集 xff0c 并且样本集中每个数据
  • 在Linux上运行Windows软件的4种以上方法

    Linux has come a long way but you may still need to run Windows applications occasionally especially Windows only PC gam
  • 操作系统—概念与定义

    操作系统的概念和定义 1 1 操作系统的层次结构 操作系统OS Operating System 是指控制和管理整个计算机系统的硬件和软件资源 xff0c 并合理地组织调度计算机的工作和资源的分配 xff0c 提供用户和其他软件方便的接口和
  • Spring6全面详解

    Spring6全面详解 自2022年11月 xff0c Spring6正式发布 在Spring6中 xff0c 对于JDK的要求最低为 17 43 xff08 17 19 xff09 部分文本摘抄于尚硅谷视频 xff08 bilibili
  • 11.安装了双系统win7+ubuntu启动项改回windows的修复方法

    安装了双系统win7 43 ubuntu后直接默认进入ubuntu的启动项 xff0c 改回windows的启动项方法 xff1b 系统版本 xff1a ubuntu 19 04 64位 43 windows7 家庭普通版64位 一 Ubu
  • C++里面类和对象是什么意思?

    本文章向大家介绍C 43 43 类和对象到底是什么意思 xff1f xff0c 主要包括C 43 43 类和对象到底是什么意思 xff1f 使用实例 应用技巧 基本知识点总结和需要注意事项 xff0c 具有一定的参考价值 xff0c 需要的
  • 【ROS机器人入门】1.1 ROS概念及环境配置

    文章目录 ROS设计目标系统要求配置步骤1 设置安装源2 设置ROS软件Key3 更新软件包4 安装完整版ROS Noetic软件5 配置ROS环境6 安装构建依赖7 1 安装rosdep 7 1与7 2任选其一 解决方法 7 2 安装ro
  • VMware Ubuntu使用gparted工具扩容,显示Unable to resize read-only file system

    一 问题 出现提示 xff1a 无法调整只读文件系统的大小 xff0c 只能在挂载时调整文件系统的大小 二 解决步骤 第一步 xff1a 查看只读文件系统的详细信息 xff0c 点击Information 第二步 xff1a 查看该磁盘挂载
  • 持续集成持续部署 | Harbor私库的安装

    Docker安装 1 xff09 卸载旧版本 yum list installed grep docker 列出当前所有docker的包 yum y remove docker的包名称 卸载docker包 rm rf var lib doc
  • LibreOffice 设置为中文字体

    欢迎关注公众号 xff1a 通用代码技术 xff0c 欢迎访问 造梦网 学习优质的计算机知识 前言 在Manjaro或者Archlinux中安装完LibreOffice之后 xff0c 发现无法将其设置为中文字体 参考Wiki发现 xff0
  • 快速查找指定代码的四种方法

    前言 xff1a 在 核心工程逆向原理 中看到的 xff0c 记录一下 xff0c 所有流程都是以Hello World exe为例 正文 xff1a 1 代码执行法 注 xff1a 仅适用于被调试的代码量不大 且程序功能明确的情况 原理
  • spring所需的配置文件

    1 beans xml span class token prolog lt xml version 61 34 1 0 34 encoding 61 34 UTF 8 34 gt span span class token tag spa
  • com surrogate_什么是“ COM Surrogate”(dllhost.exe),为什么它在我的PC上运行?

    com surrogate If you poke around in your Task Manager there s a good chance you ll see one or more COM Surrogate process