2011-08-16 155 views
0

WriteProcessMemory不適用於我,因爲我得到一個訪問被拒絕的錯誤。訪問拒絕WriteProcessMemory

我目前推出使用過程:(wcImageName,wcCommandLine,NULL,NULL,FALSE,DEBUG_PROCESS,NULL,NULL,& stStartupInfo,& stProcessInfo)

CreateProcess的;

如何修改此以獲得寫入權限?

我正在同一臺機器上啓動此過程。如何在不提供用戶名和密碼的情況下獲得寫權限?

感謝, 洛根

+0

不確定DEBUG_PROCESS是否足夠。顯然不是。正常的方法是OpenProcess(),要求進行PROCESS_VM_WRITE訪問。這是一個非常有特權的要求。 –

+0

調試器使用'DEBUG_PROCESS'或'DEBUG_ONLY_THIS_PROCESS'啓動調試對象,並且有權讀取和寫入調試對象的進程內存。 – Ajay

回答

0

確保您在調試器中循環調用WriteProcessMemory有正確的把手,。你可以閱讀this article

當您創建進程時,您確實擁有完整的權限 - 當您使用DEBUG_PROCESS或DEBUG_ONLY_THIS_PROCESS啓動時,您擁有更多權利!

+0

謝謝!按照文章中的幾個步驟,我能夠解決錯誤。我也從這個論壇得到了類似的答案:http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/8886331f-bbc5-4225-8df9-775159d0305f – Logan