2

有没有办法使用 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 配置空间中的一些寄存器。

4

1 回答 1

0

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

于 2014-04-30T22:14:08.447 回答