使用Python读取和写入物理内存

时间:2014-02-12 06:00:54

标签: python python-2.7 dma memory-access

有没有办法使用Python直接访问物理内存?我使用的是Windows 7 x64和Python 2.7。例如,我想阅读地址 0xfb000000 中的双字。然后写入相同/另一个内存地址。我尝试执行以下崩溃Python的代码。

import ctypes
N=2
addr='0xfb000000'
g = (ctypes.c_int*N).from_address(int(addr,16))
print g[0]

崩溃可能是由于许可问题造成的。那么,有没有办法获得以这种方式访问​​内存的权限?或者,有没有其他方法来完成读/写?我需要检查PCI Express配置空间中的一些寄存器。

1 个答案:

答案 0 :(得分:0)

也许你应该看一下mmap模块来映射一个虚拟地址供你在用户空间中访问?您无法直接在Vista和更新的操作系统中访问ring0。