毕业论文LINUX内核分析
毕 业 论 文
论文题目:
基于Windows进程状态提取与恢复的研究
姓 名 陈胜祥
学 号 20071301012
学 院 计算机科学与技术学院
专 业 计算机科学与技术
年 级 2007级
指导教师 高胜法
2011年月日
山东大学毕业设计(论文)成绩评定表
学院: 专业: 年级:
学号姓名设计(论文)成绩设计(论文)题目指 导 教 师 评 语评定成绩: 签名: 年 月 日评 阅 人 评 语评定成绩: 签名: 年 月 日答 辩 小 组 评 语答辩成绩: 组长签名: 年 月 日注:设计(论文)成绩=指导教师评定成绩(30%)+评阅人评定成绩(30%)+答辩成绩(40%)
目录
摘 要5
ABSTRACT6
第1章 绪论7
1.1课题研究背景7
1.2 进程检查点系统的研究现状8
1.3 本文主要工作8
第2章 Windows系统内存管理机制10
2.1 CPU工作方式10
2.2 进程地址空间10
2.2.1 Windows地址空间基础10
2.2.2 用户地址空间分布11
2.2.3 系统地址空间分布13
2.3 内存映射13
2.3.1 内存映射基础13
2.3.2 虚拟内存的使用15
2.3.3 内存映射的可执行文件和DLL文件17
2.3.4 在DLL的多个实例之间共享静态数据18
第3章 DLL注入19
3.1 DLL基础19
3.2 DLL的运行机制 20
3.3 DLL的创建23
3.4 注入技术的分析和比较24
3.4.1. 利用注册表注入24
3.4.2. 建立系统范围的Windows钩子25
3.4.3 使用 CreateRemoteThread函数26
3.4.4 通过BHO来注入DLL28
3.5 编码实现28
3.5.1 钩子的挂接28
3.5.2 挂起和恢复进程31
3.5.3 获取节数据31
3.5.4 保存和恢复进程状态34
3.6 PE文件36
第4章 程序功能演示和结语38
4.1程序功能演示38
4.2 结语39
致谢41
参考文献42
附录1.英文原文43
附录2.中文翻译51
基于Windows用户级进程状态提取与恢复
摘 要
基于用户级Windows进程状态的提取与恢复是在进程正常运行的适当时刻注入DLL文件,在用户级实现进程的停止、启动和将进程状态保存到稳定存储器中。从磁盘文件中读出保存的进程状态,实现进程重启后的状态恢复。
Windows内核分为16位的Win95和98、32位的WinNT以及用于嵌入式开发的WinCE。本文针对32位的WinNT内核实现,支持Windows 2003、XP以上版本。本文重点讨论了基于用户级Windows进程状态的提取与恢复实现的基本原理和步骤,并对其进行了编码实现。文章首先对基于用户级Windows进程状态的提取与恢复实现的理论基础和实现机制进行了阐述,然后分析和编码实现了动链接库注入,最后对完成实例程序的功能进行了介绍。
本文对不同的动态链接库注入技术进行了分析和比较,并采用钩子技术实现,给出了相应的重点代码,详细阐述了实现机制。
关键字:动态链接库、PE文件结构、容错技术
ABSTRACT
The extraction and recovery user-level process state in windows is to inject the DLL file at the appropriate time; while the application is running and you can stop or start it on the user-level .Process status can also be saved to stable storage. When restarted, the saved information can be read to restart