2017-08-08 102 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注入給定進程。

相關問題