2017-08-08 57 views
2

是否有任何方法可以查看正在运行的Windows进程的激活上下文查看正在运行的进程的Windows激活上下文?

理想情况下,当我说“视图”时,我的意思是以人类可读的方式检查它,查看/确认已加载的DLL等。

我的想象是,某种调试器可能会附加到正在运行的进程,然后显示该信息。但任何类型的工具都可能有用 - 调试器,日志文件,甚至使用激活上下文API检查事物等。

回答

1

检索激活上下文详细信息的基本方法之一是使用QueryActCtxW() API。这个API可以用来查询一堆细节。好样品可用here

在示例代码中,请注意以下行。

// Request the first file in the root assembly 
QueryIndex.ulAssemblyIndex = 1; 

QueryActCtxW() API可以,只要它返回成功递增的ulAssemblyIndex值反复调用。每次成功的电话将返回由ulAssemblyIndex代表的组装请求的详细信息。

当从一个进程中调用QueryActCtxW()时,上面将会工作。

现在,如果你想获得另一个进程的细节,一个想法是在DLL中包装激活上下文检索逻辑。该DLL可以将详细信息转储到磁盘文件或将其管理到查看器。然后通过诸如DLL Injection之类的技术或通过利用CreateRemoteThread() API将该DLL注入给定进程。

相关问题