zoukankan      html  css  js  c++  java
  • 如何得到OS物理内存?

    为了分析计算机操作系统的运行状态和内容,或者进行内存取证,我们经常需要取得系统的物理内存,并把它保存在一个文件中,用于以后的分析和处理。

    那么如何取得系统的内存呢?有几种方法,我一一道来。

    利用虚拟机保存物理内存:如果目标系统在虚拟机中,无论系统类型是什么(Windows, Linux, *BSD, Minix, Solaris),我们都可以借助虚拟机来取得Guest OS的内存。

    具体来说,如果我们使用的虚拟机是VMware Workstation, 我们可以使用take a snapshot功能,每次Take a snapshot, 我们就会得到一堆文件,其中*.vmem就是Guest OS的物理内存文件。

    如果我们使用Qemu作为虚拟机,那么我们可以使用命令pmemsave 来获得Guest OS的物理内存。 比如 

    pmemsave 0 268435456 mem

    保存256M内存到文件mem中。

    利用本机工具保存物理内存:如果操作系统不在虚拟机中,或者我们不想使用虚拟机来取得内存,我们可以使用系统自带的一些功能来取得物理内存。

    在Linux操作系统中, /dev/mem 就是物理内存的设备文件,我们可以使用 dd命令来取得物理内存。如下

    dd if=/dev/mem of=~/mem

    Windows 和 Mac OS X下也有类似的工具可以取得物理内存。

    取得物理内存后,我们就可以使用相关工具(比如 volatilitycrash),或者自己写工具来分析内存数据了。

  • 相关阅读:
    Floyd算法
    递归函数的学习
    动态联编【转】
    哈希hash
    sizeof与strlen
    写入文件和读取文件信息—Java Card开发第三篇
    文件系统创建—Java Card开发第二篇
    获取缓冲区内容与将缓冲区内容返回—Java card开发第一篇
    i++与++i
    电脑无法登陆ftp
  • 原文地址:https://www.cnblogs.com/guyufei/p/3094639.html
Copyright © 2011-2022 走看看