1.一种物理内存镜像中文本数据提取方法,其特征在于:包括以下步骤:从配置文件中获取notepad进程存储文本数据的虚拟地址空间的起始虚拟页号s,以及存储文本数据大小的虚拟空间的起始虚拟地址n;获取进程的页目录基地址,通过eprocess结构特征值搜索notepad.exe进程的eprocess结构,根据eprocess结构在指定偏移位置处获取页目录基地址;根据存储文本数据大小的虚拟地址空间的起始虚拟地址n,通过页目录基地址实现地址转换,从对应的物理地址处向后搜索特征值“ffffffff”,获取文本数据在内存中的字符数,计算出文本数据的大小;根据文本数据大小计算文本数据在notepad.exe进程中的虚拟页区间;通过地址转换读取虚拟页区间内所有页面的数据,通过文本数据起始标志和文件大小,获取文本数据。
2.根据权利要求1所述的方法,其特征在于:所述eprocess结构特征值包括:在eprocess结构偏移位置+0x078处,有8个字节的0;在eprocess结构偏移位置+0x1b2处,有2个字节的值为0x7ffd;在eprocess结构偏移位置+0x24c处,有4个字节的值为
0x00000103。
3.根据权利要求1所述的方法,其特征在于:所述获取页目录基地址具体为:根据eprocess结构特征值以及偏移位置,在内存镜像中搜索出所有正在运行的进程的eprocess结构;在eprocess结构中偏移位置+0x174处搜索出notepad.exe进程的eprocess结构;在notepad.exe进程的eprocess结构偏移位置+0x18处读取4个字节的数据,得到页目录基地址。
4.根据权利要求1所述的方法,其特征在于:获取文本数据文件在内存中的大小具体为:通过地址转换得到虚拟地址n对应的物理地址;从该物理地址处向后搜索十六进制数据“ffffffff”,并返回此十六进制数据结束位置的地址;在此结束位置的地址处,向后读取4个字节的数据,得到文本文件的字符数;字符数乘以2b得到文本数据文件在内存中的大小m。
5.根据权利要求1所述的方法,其特征在于:计算文本文件的大小具体包括:根据公式:虚拟页区间起始页号 = s -1 + [m/4KB]和虚拟页区间结束页号 = s -1+ [m/4KB]*2,计算虚拟页区间,其中,[m/4KB]表示取大于等于m/4KB的最小整数。
6.根据权利要求1所述的方法,其特征在于:获取文本数据具体包括:在虚拟页区间内所有虚拟页面所对应的物理内存镜像中的数据中搜索十六进制数据“0x010004002e0074400078007400”,得到这个数据的起始位置;从起始位置处向后偏移24个字节得到text内容的起始位置;生成一个txt文件,从起始位置处,根据文本文件在内存中的大小读取内存镜像中的数据,并写入所生成的txt文件内。