2009-12-13 66 views

回答

1

如果您想要掃描的進程當前正在運行,那麼您可以將其作爲調試器連接並刪除其地址空間。

如果你想刮一般的內存,你需要安裝一個驅動程序或類似的東西,以擺脫用戶空間。

1

SoftICE(wiki)仍然可能是Windows中最好的調試器。它具有您正在查找的低級別功能,並且可以暫停Windows中的所有操作,這對查看內存更改非常有用。雖然它已經停止使用,並且近來有很多反SoftICE措施(主要是爲了保護商業軟件),但也有一些隱藏的選項可供使用:IceStealth或IceExt。你真的不得不爲這些軟件自己編寫源代碼,可能是一些工作。另外還有其他的調試器:Sysersoft聲稱已經佔據了SoftICE離開的地方(儘管我還沒有玩過它),還有一個開源替代品,Rasta Ring 0 Debugger,自2006年以來還沒有看到發展。

1

這是一個非常有趣的概念,儘管它聽起來很險惡,一個rootkit ......對於初學者來說,你需要將你的程序權限提升到管理員權限,並以某種方式開發某種驅動程序(可能是塊模式驅動程序),並從user-land,向驅動程序發出輪詢呼叫以傳出一個數據塊(因此爲塊模式驅動程序)。傳遞給驅動程序的塊的長度(我想象)作爲參數,然後用戶代碼將檢索數據並掃描數據塊。

問題在於,由於驅動程序必須駐留在ring0內核模式才能獲取內存塊,因此最終會產生BSOD和大量的調試問題。聽起來像受虐狂的方式,但你可以再次使用VirtualBox並將Windows安裝到虛擬機中。

你需要根植於尋找Windows內核模式驅動程序SDK,這將使您能夠編寫驅動程序。除此之外,我不知道如何! :)

這是我要堅持我最喜歡的問題。

祝你好運,希望這有助於, 最好的問候, 湯姆。