在Windows 8下读取物理内存

时间:2014-05-15 16:19:47

标签: windows

我希望能够插入一个物理地址,并读取存储在该地址的数据。

在Linux下,我会使用/dev/mem来获取这些数据。在Windows 8下,我不确定有什么机制可以做到这一点。

我的用例是检查PCI Express设备。 PCI Express设备在已知地址创建环形缓冲区,我可以从PCIe BAR确定。设置此地址后,它将不会更改,直到计算机重新启动。

目前,我可以使用像RW Everything这样的应用程序来查看那里的数据,但我希望能够在没有用户交互的情况下(没有GUI)这样做,这样我的环缓冲包装问题就更少了在我可以访问数据之前。

有没有人知道我是否可以从用户空间(例如mmap一个区域)进行特权Windows系统调用,或者我是否需要使用自定义内核模块来执行此操作?我想有一些方法可以在没有自定义内核模块的情况下完成它,因为当我安装RW Everything时,我不相信我安装了一个。

2 个答案:

答案 0 :(得分:7)

从Windows Server 2003 SP1开始,用户模式无法访问物理内存。您必须开发一个驱动程序来执行此操作(或查找包含一个驱动程序的第三方工具)。

来自Technet

  

在Windows Server 2003 SP1中,不允许用户模式访问\ Device \ PhysicalMemory对象。从用户模式应用程序访问\ Device \ PhysicalMemory对象时,将拒绝所有形式的访问(读取,写入)。无论运行应用程序的用户上下文(管理员,用户,本地系统等)如何,都会拒绝访问\ Device \ PhysicalMemory对象。

答案 1 :(得分:2)

有许多Windows软件可以访问物理内存,但是,由于这些操作系统中的物理内存保护功能,许多Windows软件无法访问Windows Vista或7中的物理内存。

有许多类似于dev / mem unix的windows工具,例如:

  • Belkasoft Live RAM Caputer
  • WindowsSCOPE Pro和Ultimate,可在http://www.windowsscope.com
  • 获取
  • WindowsSCOPE Live
  • winen.exe(指导软件 - 包含在Encase 6.11及更高版本中)
  • Mdd(Memory DD)(ManTech)
  • MANDIANT Memoryze
  • Kntdd
  • Moonsols
  • HBGary
  • FTK Imager
  • OSForensics
  • WinPmem;和
  • Windows内存阅读器

查看此Wiki以获取更多信息: http://www.forensicswiki.org/wiki/Tools:Memory_Imaging