这个 RunDll32 实例正在运行什么?

这个 RunDll32 实例正在运行什么?

我在检查 Windows 10 机器上正在运行的进程时偶然发现了 rundll32 的一个实例。

这是根据 Process Explorer 启动它的命令行:

C:\Windows\system32\rundll32.exe -localserver 22d8c27b-47a1-48d1-ad08-7da7abd79617

这是什么意思?我尝试研究过这个问题,但一无所获。

这是好事还是正常?我应该杀掉它然后进一步调查吗?

答案1

我找到了这个过程的起源。它非常简单,甚至有点愚蠢。

当您播放视频(youtube 或 vlc 或其他)并使用键盘快捷键更改音量时,您会看到以下内容:

https://i.stack.imgur.com/ZLllA.png

这就是进程所做的工作。如果您重新启动,并在观看视频时更改音量,则该进程将出现在带有视频标题的滑块出现的位置。如果您终止 rundll32 进程,右侧的图片将消失。

我疯狂地试图找到这个 rundll32 到底是什么,而答案让我感到自己一开始的尝试很愚蠢

答案2

据 MSDN 上某人说,它是 Windows 的一部分,称为“进程分析性能分析程序(Windows 性能计数器程序)”

https://translate.google.com/translate?hl=en&sl=zh-CN&u=https://social.msdn.microsoft.com/Forums/en-US/ea5b2358-f440-4fb6-bec3-029092ea3829/rundll32exe-localserver-%3Fforum%3D1761&prev=search

答案3

我在 Windows 10 上看到了此过程,处理用户图块(通常称为用户帐户图片)。可能它用于处理其他类型的不受信任的用户数据;我不知道。

该代码是 Windows“shell”(桌面界面)包的一部分,并且该进程以用户“NT Authority/SYSTEM”的身份运行。我认为这意味着它是登录/“快速用户切换”界面的一部分。我观察到的行为全都归咎于 Windows。我特别留意了任何(有缺陷的)第三方代码,但没有发现任何可疑的东西。

Windows Rundll32(DllHost 的子进程)崩溃了。我该如何识别它?

设想

我捕获了线程 0 的堆栈跟踪,当时它正在处理传入的 COM 请求。它显示了一个类Windows_UI_Immersive!CUserTileValidator。我在进程崩溃时捕获了此跟踪,当时它正在处理图片。在我的心理模型中,这是一个解压缩用户图片的沙盒进程,但我预计精确的描述会更复杂。

该问题只针对一位用户:我可以通过锁定会话并以该特定用户身份登录来重现崩溃,但反过来却不行。用户的个人资料图片显示为默认图标。更改用户的个人资料图片可以停止崩溃。

我找不到-localserverRundll32 选项的文档。正如其他评论者所说,注册表中任何地方都找不到 UUID 值。我不知道 Rundll32 如何查找此值!术语本地服务器在谈论用于启动专用 COM 服务器进程的命令时,其他地方也会使用。(通常是DllHost.exe,如下所述)。

技术细节

Rundll32 进程有一个父进程,即DllHost.exe(“COM Surrogate”) 的一个实例。查看 DllHost 的命令行,该/ProcessID参数是注册表中列出的 AppID,来自 shell32.dll,为“Shell Create Object Task Server”。两个进程都以“NT Authority/SYSTEM”身份运行。

从某种意义上来说,我所看到的碰撞是可以预料到的。DllHost.exe 旨在运行不可靠的 COM 对象。显然这是在用户会话中。我的链接没有评论不知道它保护得如何不安全COM 对象;以 SYSTEM 身份运行时尤其需要注意。

相关内容