摘要 | 第5-7页 |
ABSTRACT | 第7-8页 |
第一章 绪论 | 第14-18页 |
1.1 研究背景与意义 | 第14-15页 |
1.2 国内外研究现状 | 第15-17页 |
1.3 论文的主要贡献 | 第17页 |
1.4 本文的组织结构 | 第17-18页 |
第二章 动态二进制翻译基础平台简介 | 第18-31页 |
2.1 概述 | 第18-20页 |
2.1.1 动态二进制翻译 | 第18-19页 |
2.1.2 动态二进制翻译基础平台 | 第19-20页 |
2.1.3 本章结构 | 第20页 |
2.2 Crossbit 简介 | 第20-26页 |
2.2.1 Crossbit 概述 | 第20-22页 |
2.2.2 Crossbit 的系统框架 | 第22-23页 |
2.2.3 基本块的定义 | 第23页 |
2.2.4 Crossbit 的内存布局 | 第23-24页 |
2.2.5 Crossbit 的中间指令 | 第24-25页 |
2.2.6 Crossbit 的性能评价 | 第25-26页 |
2.3 基于Crossbit 的中间指令过滤器(Filter)构造 | 第26-27页 |
2.4 相关工作 | 第27-29页 |
2.4.1 Pin | 第27-28页 |
2.4.2 Valgrind | 第28-29页 |
2.4.3 Crossbit | 第29页 |
2.5 本章小结 | 第29-31页 |
第三章 基于Cachebit 的Cache 行为分析与研究 | 第31-40页 |
3.1 背景介绍 | 第31-34页 |
3.1.1 概述 | 第31页 |
3.1.2 Cache 的影响 | 第31-33页 |
3.1.3 Cache 行为模拟的意义 | 第33-34页 |
3.2 Cachebit 的设计 | 第34-36页 |
3.2.1 设计原理 | 第34页 |
3.2.2 用于内存访问探测的中间指令过滤器构建 | 第34-35页 |
3.2.3 模拟Cache 的设计 | 第35-36页 |
3.3 Cachebit 的使用与评测 | 第36-38页 |
3.3.1 Cachebit 的使用 | 第36-37页 |
3.3.2 Cachebit 的性能评测 | 第37-38页 |
3.3.3 Cachebit 的创新与不足 | 第38页 |
3.4 相关工作 | 第38-39页 |
3.5 本章小结 | 第39-40页 |
第四章 基于Membit 的堆栈行为研究 | 第40-50页 |
4.1 背景介绍 | 第40-42页 |
4.1.1 概述 | 第40页 |
4.1.2 堆栈异常举例 | 第40-42页 |
4.1.3 堆栈行为检查的意义 | 第42页 |
4.2 Membit 的设计 | 第42-46页 |
4.2.1 设计原理 | 第42页 |
4.2.2 影子内存 | 第42-44页 |
4.2.3 栈溢出防止设计 | 第44页 |
4.2.4 堆溢出防止设计 | 第44-46页 |
4.2.5 内存泄露检查 | 第46页 |
4.3 Membit 的使用与评测 | 第46-48页 |
4.3.1 Membit 的使用 | 第46-47页 |
4.3.2 Membit 的性能评测 | 第47页 |
4.3.3 Membit 的创新与不足 | 第47-48页 |
4.4 相关工作 | 第48-49页 |
4.4.1 “红色区域”(red-zone)法 | 第48-49页 |
4.4.2 “胖指针”(fat-point)法 | 第49页 |
4.5 本章小结 | 第49-50页 |
第五章 基于动态二进制探测工具的其他应用 | 第50-57页 |
5.1 进程级的休眠与唤醒工具Resumebit | 第50-53页 |
5.1.1 概述 | 第50页 |
5.1.2 进程级休眠与唤醒的意义 | 第50-51页 |
5.1.3 程序状态的备份和恢复 | 第51页 |
5.1.4 实验结果 | 第51-53页 |
5.1.5 小结 | 第53页 |
5.2 程序内存状态回放工具Watchbit | 第53-56页 |
5.2.1 概述 | 第53页 |
5.2.2 程序内存状态回放的意义 | 第53-54页 |
5.2.3 内存状态日志的设计 | 第54-55页 |
5.2.4 实验结果 | 第55-56页 |
5.2.5 小结 | 第56页 |
5.3 本章小结 | 第56-57页 |
第六章 结论 | 第57-59页 |
6.1 全文总结 | 第57-58页 |
6.2 未来工作 | 第58-59页 |
参考文献 | 第59-61页 |
致谢 | 第61-62页 |
攻读硕士学位期间已发表或录用的学术论文 | 第62页 |