規格從遠程進程PEB:Windows 7的64位時,Visual C++獲得在Win 7
目的:我想從一個示例程序遠程PEB(例如CALC.EXE)。我找到了proc ID,並且我已經開啓了處理所有權利的流程。現在我已經開始編寫一個類來使用PROCESS_BASIC_INFORMATION從進程中檢索PEB的位置。
問題:我發現了幾個帖子在別處,似乎表明NtQueryInformationProcess轉過身MS拉屎。一篇文章提出了一種動態運行時的方法 - 將NtQueryInformationProcess從ntdll.dll中鏈接出來。不過,我認爲這從長遠來看是不穩定的(MS可能會在明天刪除NtQueryInformationProcess)而沒有廣泛的錯誤處理。
這個想法稍後在this thread中實現,然後由Mike2343建議應該「使用其他方法」。
問題:什麼是另一種方法來找到不涉及NtQueryInformationProcess的遠程進程的PEB?
感謝任何花時間看這個的人。
NtQueryInformationProcess是本機Windows API的一部分。這是沒有記錄,並強烈地從一個版本的Windows更改爲另一個。它被記錄在案的唯一原因是因爲他們被迫與司法部達成和解。依賴它是非常不明智的。您完全沒有提及*爲什麼*您需要PEB,因此您從記錄在PEB中的信息的備選方案中減少了自己的負擔。 – 2012-07-21 16:09:52
我需要它進行所有事情的實驗,但我想一個特定的和典型的實例會有所幫助:PEBBaseAddress - > ImageBaseAddress - >返回PLoaded_Image結構 - >遠程導入地址 - > IAT和ILT。 – user850275 2012-07-21 16:32:13
我想我可以從[GetModuleHandle](http://msdn.microsoft.com/en-us/library/ms683199%28VS.85%29.aspx)獲取圖像的基地址。雖然,我不確定32位和64位之間是否有差異。 – user850275 2012-07-21 17:29:51