簡體   English   中英

在Windows上阻止訪問物理地址

[英]Block Access to physical address on Windows

我正在通過PC上特定於設備的物理內存訪問內存映射的設備。 這是使用驅動程序完成的,該驅動程序將特定的物理地址映射到進程地址空間上線性內存中的指針。

我想知道是否可以通過某種方式獲取特定物理地址的塊並阻止其他進程或設備訪問該物理地址?

物理地址到線性地址的映射是使用第三方驅動程序TVicHW32完成的

編輯:如果我使用不同的標志運行我的應用程序的2個實例,我可以重現該方案。 兩個實例都可以訪問同一特定的物理內存,該內存不屬於任何一個進程的內存空間。

您的驅動程序必須通過公開一項服務(DeviceIoContro)來完成此工作,該服務將檢查范圍是否已映射,如果范圍可用則將其映射並記錄保留。 服務塔爾還將釋放存儲區並取消映射。 當然,您應該關閉所有與特定手柄相關的區域。 不幸的是,由於“映射”服務是通過DeviceIoControl完成的,因此映射/取消映射服務中存在一些不對稱性,因此它占用了CreateFile時獲得的句柄,但是映射區域不再直接連接到設備句柄。 當然,您可以安排驅動程序的“關閉”方法來自動執行取消映射(ZwUnmapViewOfSection ...)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM