[英]Is there a way to dump all the physical memory value?
我了解每個用戶進程都被賦予了虛擬地址空間,並且可以將其轉儲。 但是有沒有辦法轉儲物理地址空間? 假設我有一個具有4GB內存的32位系統,是否可以編寫一個程序來打印每個物理內存位置。
我知道它違反了內存保護等。但是,如果可能的話,如何將其轉換為內核進程或更低級別的進程,以允許我訪問整個內存。
我想知道如何在Windows / Linux平台(或內核)上編寫這樣的代碼(如果可能的話)。或者如果我必須使用Assembly或類似的東西,如何轉換到該特權級別。
在Linux中,您可以打開並映射設備文件/dev/mem
(如果您具有讀取權限)。 這對應於物理內存。
嘗試使用此NTMIO-訪問硬件資源的Windows命令行http://siliconkit.com/ocart/index.php?route=product/product&product&keyword=ntmio&category_id=0&product_id=285
can i write a program to print each physical memory location.
我認為沒有操作系統可以使用戶訪問物理內存位置。 所以,你不能。 您所看到的都是操作系統生成的虛擬地址。
在Windows上,可以直接訪問物理內存。 您可以做的一些事情:
這些方法都不能使您輕松,不受限制地訪問任何物理內存位置。 如果我要問的話,您想完成什么?
我在想您可能可以使用內核模式驅動程序來完成此操作 ,但是結果將變得亂七八糟,因為在您抓取時RAM用戶部分中的內容將是操作系統已分頁的內容,它可能是一個應用程序或一堆雜燴。 前面的SO問題也可能會有所幫助: Windows內核模式驅動程序如何訪問分頁內存?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.