2016-08-23 20 views
0

我最近一直在想WMI在Windows系统内部是如何工作的。我喜欢具体的例子,并深入了解他们: 让我们采取相对简单的场景,我正在运行tasklist.exe。我知道tasklist正在使用WMI来查询本地机器上运行的任务,所以这是一个可执行程序,其基本全部用于WMI查询。WMI - 它究竟如何工作?什么是创建WmiApSrv.exe服务以及它如何发送消息?

在我第一次运行它之后,一项新的服务开始了:名为WmiApSrv.exe的服务,这是一个svchost.exe -k DcomLaunch的子进程。

现在我想知道,究竟tasklist.exe正在做什么导致一个新的服务启动 - 主要是当WMI服务(在services.msc下)的启动类型为Manual而不是自动..什么是造成它开始,何时以及如何?什么是特定的svchost.exe -k DcomLauncher进程的连接?

我试图反向工程RPC调用(NdrClientCall2),但我无法弄清楚哪个RPC的调用GUID是其中几十个相关的,以及它连接到的位置。之前帮助我的是RpcView(http://www.rpcview.org/),但由于某种原因(在我的Win7或XP虚拟机上),它无法在我的Windows 10机器上运行。

回答

0

这是使用lpc完成后,你可以看看里面使用微软的消息分析仪连接到微软Windows的RPC终结点,其中RPC事件记录。 tasklist.exe调用wmi接口uuid的客户端存根控制函数,rpc调用被引导至svchost.exe -k DcomLaunch,后者将打开WmiApSrv.exe。

这需要更彻底的看上去比我做什么,但我认为这应该让您的轨道上找到答案。

相关问题