摘要 | 第4-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第11-14页 |
1.1 研究背景 | 第11页 |
1.2 国内外研究现状 | 第11-12页 |
1.3 国内研究现状 | 第12-13页 |
1.4 论文的研究内容 | 第13-14页 |
第2章 计算机取证基础 | 第14-21页 |
2.1 计算机取证的定义 | 第14页 |
2.2 开机取证 | 第14-18页 |
2.2.1 诺卡德交换原理 | 第15页 |
2.2.2 非易失性数据 | 第15-16页 |
2.2.3 易失性数据 | 第16-18页 |
2.3 内存取证 | 第18-21页 |
2.3.1 内存分析史 | 第18-19页 |
2.3.2 获取物理内存镜像的工具及其优缺点 | 第19-21页 |
第3章 windows内存分析 | 第21-37页 |
3.1 内存管理器 | 第21-22页 |
3.2 进程的虚拟地址空间 | 第22-25页 |
3.2.1 虚拟地址空间的布局结构 | 第22-23页 |
3.2.2 x86用户地址空间的布局结构 | 第23-24页 |
3.2.3 x86系统的布局结构 | 第24-25页 |
3.2.4 进程地址空间的页面分类 | 第25页 |
3.3 EPROcEss块的介绍 | 第25-27页 |
3.4 x86虚拟地址转译 | 第27-37页 |
3.4.1 虚拟地址的组成部分 | 第27-29页 |
3.4.1.1 页目录 | 第28页 |
3.4.1.2 页表和页表项 | 第28-29页 |
3.4.2 转译一个虚拟地址的基本步骤 | 第29-31页 |
3.4.3 物理地址扩展的内存映射模式 | 第31页 |
3.4.4 转译地址的例子 | 第31-32页 |
3.4.5 页面错误处理 | 第32-37页 |
第4章 获取windows内存镜像技术的实现 | 第37-56页 |
4.1 利用驱动程序来访问物理内存 | 第37-47页 |
4.1.1 驱动程序的概念 | 第37页 |
4.1.2 用DDK编译环境编译驱动程序 | 第37-39页 |
4.1.2.1 makefile文件 | 第38页 |
4.1.2.2 dirs文件 | 第38页 |
4.1.2.3 sources文件 | 第38-39页 |
4.1.3 驱动程序的基本结构 | 第39-47页 |
4.1.3.1 驱动程序对象和设备对象 | 第39-40页 |
4.1.3.2 驱动入口函数 | 第40-41页 |
4.1.3.3 DriverUnload例程 | 第41-42页 |
4.1.3.4 IRP与派遣函数 | 第42-44页 |
4.1.3.5 驱动程序的加载与卸载 | 第44-47页 |
4.2 获取物理内存镜像的实现 | 第47-56页 |
4.2.1 对完整的物理内存进行镜像 | 第47-52页 |
4.2.1.1 如何获得内核对象 | 第47页 |
4.2.1.2 驱动程序与应用程序的交互 | 第47-49页 |
4.2.1.3 内存映射文件和内存镜像的保存 | 第49-52页 |
4.2.2 获取指定进程的内存镜像 | 第52-56页 |
4.2.2.1 获取指定进程 | 第52-54页 |
4.2.2.2 获取指定进程的内存信息 | 第54-55页 |
4.2.2.3 指定进程内存区域的读取 | 第55页 |
4.2.2.4 物理内存镜像的保存 | 第55-56页 |
第5章 物理内存镜像获取的相关测试 | 第56-65页 |
5.1 对所获取内存镜像的正确性分析 | 第56-59页 |
5.2 对获取物理内存镜像的时间分析 | 第59-61页 |
5.2.1 cPu的性能 | 第59-60页 |
5.2.2 物理内存的大小 | 第60-61页 |
5.3 内存分析平台测试 | 第61-65页 |
5.3.1 显示进程列表的实现与测试 | 第62页 |
5.3.2 显示进程虚拟内存与堆的分布情况的实现与测试 | 第62-63页 |
5.3.3 特定值查询的实现与测试 | 第63页 |
5.3.4 区域变化查询的实现与测试 | 第63-64页 |
5.3.5 完整内存镜像、特定进程内存镜像的实现与测试 | 第64-65页 |
第6章 总结与未来展望 | 第65-66页 |
参考文献 | 第66-68页 |
致谢 | 第68页 |