Windows 调试:如何确定哪个应用程序正在打开我的 Web 浏览器

Windows 调试:如何确定哪个应用程序正在打开我的 Web 浏览器

我只是在调试一个潜在的恶意软件问题,其中空白浏览器窗口(完整窗口而不是选项卡)不断打开,但经过多次扫描和安装新浏览器后找不到任何恶意软件,所以我认为可能有一个有缺陷的应用程序意外打开了这些窗口。

通常,如果我想确定哪个应用程序启动了另一个应用程序,我会使用微软的进程探索器例如,您可以看到记事本是从 cmd.exe 打开的:

在此处输入图片描述

但是,当我对 Chrome 和 Firefox 执行同样的事情时,它并没有告诉我哪个应用程序打开了它们,它们只是直接出现在树的顶部:

在此处输入图片描述

有什么方法可以记录打开这些浏览器窗口的应用程序吗?

有一个相关但过时的问题: 如何知道哪个应用程序打开了我的浏览器中的链接?

答案1

了解正在打开哪个 URL 或 Firefox 是否在不带参数的情况下启动会有所帮助。您可以通过检查 Firefox 的属性在 Process Explorer 中看到这一点。

要跟踪 Firefox 的启动,请使用 进程监控

例如我在Process Monitor中设置了如下触发器:

在此处输入图片描述

当我从“开始”菜单调用 Firefox 时,得到了以下信息:

在此处输入图片描述

正如您所见,Firefox 被调用了explorer.exe

如果这种情况在启动初期就发生,您可能需要在 Process Monitor 中设置启动监控,这将大大减慢启动速度并创建一个巨大的跟踪文件。然后,您可以使用适当的触发器检查日志以选择您感兴趣的事件。

答案2

您可以尝试使用 WMIC 的这个批处理文件

@echo off
Title Get Process with WMIC
wmic process where (Name like "%%chrome%%") get processid,parentprocessid,executablepath,commandline /Value
pause

编辑:可以按进程名称过滤的批处理

@echo off & color 0B
Title Get Processes with WMIC
:Get_Details_Processes
Cls & echo( & echo Type The Name Of The Process For Looking For ...
set /p FilterProcess=
wmic process where (Name like "%%%FilterProcess%%%") get processid,parentprocessid,executablepath,commandline /Value
echo Type The Parentprocessid to get its executablepath and its commandline
set /p parentprocessid=
wmic process where (processid=%parentprocessid%) get executablepath,commandline /Value
pause
goto Get_Details_Processes

相关内容