0

有很多工具可以幫助分析可移植的可執行文件。例如PE Explorer。我們可以加載.exe文件並檢查部分的數量,部分對齊或特定部分的虛擬地址等內容。分析裝入內存的可執行文件的工具

是否有任何類似的工具,允許我做同樣的事情,但已經加載到內存中的可移植可執行文件?沒有訪問它的.exe文件?

編輯:

也許我會嘗試澄清什麼,我想要的目的。可以說(像@ 0x90建議),我有兩個應用程序或甚至三個應用程序。

app1.exe - 由用戶執行,基於app3.exe創建新的進程,並通過將app2.exe放入其中來修改其內存。

app2.exe - 通過app1.exe注入到app3.exe內存中。

app3.exe - 用於創建新進程。

我有三個應用程序的所有來源。我只是試圖通過注入/進程空心的實踐練習來了解Windows內部。我在app1.exe導致到一些錯誤:

The application was unable to start correctly (0xc0000018). 

而我試圖找到一種方法來調試這種情況。我的想法是將磁盤上的PE與內存中的PE進行比較,並檢查它是否正確。我很驚訝,我找不到爲這樣的建議設計的工具。

回答

1

爲了清楚起見,您希望檢查的應用程序應稱爲App1,而將PE文件內容加載到內存中的應用程序應稱爲App2。

據我所知,所有主要的反彙編工作文件。 這是由於App1將映射到App2的地址空間。

最簡單的解決方案是從內存中將可執行文件轉儲到磁盤。

如果你控制App2的來源,這一步是微不足道的。

如果不這樣做,您需要攻擊調試器,確定PE文件所在的確切內存範圍,並使用調試器的功能將該內存範圍轉儲到磁盤。