通过高级语言访问物理内存,例如

时间:2012-04-09 13:19:50

标签: c# memory dump ram memory-dump

我正在研究通过高级编程语言执行Windows 7机器的内存(RAM)转储的最佳方法,例如C#。我已经对此进行了大量的研究,我将在下面进行总结。

•看来Microsoft API对内存的访问在一段时间后被切断(\ Device \ PhysicalMemory)

现在看来,要访问内存,您的代码必须在内核模式下执行,而不是用户模式允许您访问内存

我已经研究过系统挂起时Windows转储内存(小型,大型和内核转储)的方式,此方法不适合我的要求

我想知道是否有人对如何访问机器的物理内存有了很好的了解。我对低级编码语言的了解很少,因为我习惯于编写Window Applications。到目前为止我收到的建议包括编写驱动程序来访问内存,然后通过更高级别的编程语言调用它。

任何社区可以提供的任何帮助都将非常感谢!提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用procdump -ma。这给出了单个过程的完整状态。将操作系统调试到内核模式的人。

从我使用WinDBG进行内核模式调试的相当短的经验,我建议从第二台PC和Firewire链接开始。在被测系统上,卸下硬盘驱动器并使用符号安装操作系统。确保你有一个良好的操作系统基本图像与符号,打破它的时间。

在我的简短WinDBG书籍列表中,可以阅读“编程Windows驱动程序模型”,Oney,MSPress。

This may help.