如何从Python查看svchost.exe或dllhost.exe进程中托管的DLL的路径?

问题描述 投票:0回答:1

我正在尝试收集服务及其DLL的列表。

从python中,我得到了psutil.win_service_iter()的服务列表:

import psutil
services = psutil.win_service_iter()
print(services[0].as_dict()["binpath"])

但是,当我遍历svchost.exe或dllhost.exe进程中托管的服务时,我仅获得命令行以从binpath启动svchost.exe或dllhost.exe。例如:

C:\Windows\system32\svchost.exe -k LocalService -p

我知道我可以使用Process Explorer查看DLL,但我正在寻找一种方法来用Python编程地执行此操作。

编辑:我知道如何查看所有加载的DLL,但是我只想要主DLL,其中包含ServiceMain()函数。与Process Explorer相同:

Screenshot

python windows service
1个回答
0
投票

您完全可以通过Python子进程调用来完成。

https://docs.python.org/3/library/subprocess.htmlhttps://www.cyberciti.biz/faq/python-run-external-command-and-get-output/

在Windows的命令提示符中,您将键入“ tasklist / SVC | findstr LocalService”。随后,您可以执行类似于以下内容的Python调用:

#!/usr/bin/python
import subprocess
subprocess.call(["tasklist", "/SVC", "| findstr LocalService"])
© www.soinside.com 2019 - 2024. All rights reserved.