【发布时间】:2021-10-28 06:58:49
【问题描述】:
在研究作弊和反作弊的工作原理时,我对如何访问物理(而非虚拟)RAM 地址产生了兴趣,例如,在 Windows 中,MmAllocateContiguousMemory 用于从物理地址读取(在某些情况下)例子) 但是访问物理内存地址是如何工作的(我没有找到任何不使用 nativeApi 或 WinApi 的 asm/C 示例)。我想windows完全控制内存并且只提供使用它的shell——但是在不同的操作系统和windows中,对内存的访问也是以某种方式实现的,它是如何工作的,是否可以在没有winapi/nativeApi的情况下读取物理内存[ memtest 以某种方式工作))]
【问题讨论】:
-
“但是对物理内存地址的访问是如何工作的” - 它由 MMU 在硬件中处理。
-
@Dai 如果我理解正确,发帖人想知道是否有直接访问物理地址的API——就像
/dev/mem在Linux下所做的那样。 -
请注意,物理地址空间包含内存映射 IO 区域 (MMIO)、设备内存和 ROM,以及物理 RAM。
标签: winapi assembly operating-system driver