2017-09-23 83 views
1

在C++中,我想創建一個程序,該程序可以訪問和寫入任何物理內存地址,而不管正在使用哪個地址,包括Windows內核模式程序。是否有可能創建這樣的程序,可以寫入任何內存地址,如0x00,沒有Windows操作系統內存權限限制?很明顯,該程序不能是一個用戶模式程序,所以如果我將程序提升爲管理員,我能做到這一點嗎?或者我需要寫一個驅動程序?是否有可能在Windows中寫入任何內存地址

+0

你是什麼意思的「內存地址」?特定於進程的虛擬地址,系統範圍的虛擬地址或物理內存地址? – valdo

+0

物理內存地址 – user4757174

+0

設備驅動程序可能會寫入物理內存地址。但請注意,物理內存頁面可能會轉儲到頁面文件中,反之亦然,並且通常物理內存頁面不會綁定到特定的應用程序/驅動程序。 – valdo

回答

2

你需要寫驅動程序。即使以管理員身份運行,常規程序也不能寫入任意內存地址。事實上,他們甚至不能訪問任意的物理地址。

+0

內核模式下的驅動程序是否可以覆蓋對Windows至關重要的其他內核模式程序的物理內存? – user4757174

+2

是的,如果你設法進入內核模式,你可以用任何你喜歡的方式來連接系統。 –

相關問題