基于二进制可执行文件代码覆盖测试技术研究
| 表目录 | 第1-8页 |
| 图目录 | 第8-10页 |
| 摘要 | 第10-11页 |
| ABSTRACT | 第11-12页 |
| 第一章 绪论 | 第12-17页 |
| ·课题背景 | 第12-13页 |
| ·缓冲区溢出原理 | 第12-13页 |
| ·漏洞挖掘 | 第13页 |
| ·缓冲区溢出漏洞挖掘技术现状 | 第13-14页 |
| ·课题研究的必要性 | 第14-15页 |
| ·论文的研究内容 | 第15页 |
| ·论文各章节安排 | 第15-16页 |
| ·小结 | 第16-17页 |
| 第二章 代码覆盖的基本原理 | 第17-24页 |
| ·代码覆盖的原理 | 第17-18页 |
| ·代码覆盖技术研究的必要性 | 第18-19页 |
| ·代码覆盖的实施步骤 | 第19-23页 |
| ·函数级覆盖 | 第20-22页 |
| ·基本块级覆盖 | 第22页 |
| ·分析脆弱点处理的数据 | 第22-23页 |
| ·小结 | 第23-24页 |
| 第三章 代码覆盖关键技术 | 第24-35页 |
| ·函数调用路径识别与基于基本块的控制流识别 | 第24-27页 |
| ·函数调用路径识别 | 第24页 |
| ·基于基本块的控制流程识别 | 第24-25页 |
| ·图形化显示输出 | 第25-26页 |
| ·覆盖评估技术 | 第26-27页 |
| ·错误注入技术 | 第27-31页 |
| ·错误注入的定义及可注入类型 | 第27-28页 |
| ·错误注入技术现状 | 第28-29页 |
| ·错误注入在代码覆盖中的应用 | 第29页 |
| ·PE文件执行时的动态注入技术 | 第29-30页 |
| ·错误注入技术难点 | 第30-31页 |
| ·数据流分析技术 | 第31-34页 |
| ·数据流分析的基本原理 | 第31页 |
| ·数据流分析技术现状 | 第31页 |
| ·数据流分析在代码覆盖中的应用 | 第31-33页 |
| ·课题中数据流分析的设计原理 | 第33-34页 |
| ·数据流分析技术难点 | 第34页 |
| ·小结 | 第34-35页 |
| 第四章 代码覆盖工具的设计与实现 | 第35-55页 |
| ·代码覆盖工具的基本工作原理 | 第35-36页 |
| ·函数调用路径识别模块设计与实现 | 第36-42页 |
| ·功能描述 | 第36页 |
| ·数据结构说明 | 第36-37页 |
| ·算法设计 | 第37-38页 |
| ·函数调用路径识别所遇到的问题及解决方法 | 第38-42页 |
| ·基于基本块的控制流识别模块设计与实现 | 第42-44页 |
| ·功能描述 | 第42页 |
| ·数据结构说明 | 第42-43页 |
| ·算法设计 | 第43-44页 |
| ·错误注入模块设计与实现 | 第44-46页 |
| ·功能描述 | 第44页 |
| ·数据结构说明 | 第44-45页 |
| ·算法设计 | 第45-46页 |
| ·数据流分析模块设计与实现 | 第46-54页 |
| ·功能描述 | 第46页 |
| ·基本块级数据流分析 | 第46-49页 |
| ·指令级数据流分析 | 第49-52页 |
| ·捕获数据与用户输入数据的匹配 | 第52-54页 |
| ·数据流与控制流程依赖图的绘制 | 第54页 |
| ·小结 | 第54-55页 |
| 第五章 实验测试与结果评估 | 第55-68页 |
| ·测试自己编写的代码 | 第55-60页 |
| ·测试目的 | 第55页 |
| ·测试环境 | 第55页 |
| ·二进制可执行文件的源代码 | 第55-56页 |
| ·可执行文件的反汇编代码片断 | 第56页 |
| ·具体实施步骤 | 第56-60页 |
| ·利用代码覆盖技术分析MS04-030漏洞 | 第60-66页 |
| ·漏洞描述 | 第60-61页 |
| ·分析环境 | 第61页 |
| ·具体分析步骤 | 第61-66页 |
| ·利用代码覆盖技术挖掘某常用软件漏洞 | 第66-67页 |
| ·软件介绍 | 第66页 |
| ·测试目的 | 第66页 |
| ·测试环境 | 第66页 |
| ·挖掘过程 | 第66-67页 |
| ·实验总结 | 第67页 |
| ·小结 | 第67-68页 |
| 结束语 | 第68-70页 |
| 一、论文工作总结 | 第68页 |
| 二、进一步研究方向 | 第68-70页 |
| 参考文献 | 第70-72页 |
| 作者简历 攻读硕士学位期间完成的主要工作 | 第72-73页 |
| 致谢 | 第73页 |