| 摘要 | 第4-5页 |
| Abstract | 第5-6页 |
| 1 绪论 | 第9-12页 |
| 1.1 本文选题背景 | 第9-10页 |
| 1.2 本文研究目的和意义 | 第10页 |
| 1.3 本文内容和结构安排 | 第10-12页 |
| 2 软件胎记综述 | 第12-24页 |
| 2.1 软件保护技术综述 | 第12-16页 |
| 2.1.1 硬加密 | 第12页 |
| 2.1.2 软加密 | 第12-16页 |
| 2.2 软件胎记系统 | 第16-19页 |
| 2.2.1 软件胎记模型 | 第16页 |
| 2.2.2 软件胎记定义和分类 | 第16-18页 |
| 2.2.3 软件胎记的属性 | 第18-19页 |
| 2.3 现有软件胎记技术 | 第19-23页 |
| 2.3.1 TaNaMM胎记 | 第20页 |
| 2.3.2 基于指令的软件胎记 | 第20-21页 |
| 2.3.3 基于内部结构图的软件胎记 | 第21-22页 |
| 2.3.4 基于API和系统调用的软件胎记 | 第22-23页 |
| 2.4 本章小结 | 第23-24页 |
| 3 基于指令基本块的改进k-gram胎记 | 第24-35页 |
| 3.1 基于k-gram指令序列的动态软件胎记 | 第24-27页 |
| 3.1.1 胎记提取 | 第24-25页 |
| 3.1.2 相似度计算 | 第25-27页 |
| 3.2 基于指令基本块的软件胎记 | 第27-31页 |
| 3.2.1 胎记构造 | 第27-30页 |
| 3.2.2 相似性计算 | 第30-31页 |
| 3.3 k-gram指令序列与指令基本块胎记的比较 | 第31-34页 |
| 3.4 本章小结 | 第34-35页 |
| 4 基于指令级别和函数级别的双粒度动态胎记 | 第35-50页 |
| 4.1 基于系统函数调用频率的粗粒度胎记 | 第35-37页 |
| 4.1.1 系统函数调用频率胎记的构造 | 第35-36页 |
| 4.1.2 相似度计算 | 第36-37页 |
| 4.2 动态双粒度胎记构造 | 第37-39页 |
| 4.3 pin插桩工具介绍 | 第39-41页 |
| 4.4 实验仿真 | 第41-48页 |
| 4.4.1 实验过程分析 | 第41-45页 |
| 4.4.2 可信性评估 | 第45-46页 |
| 4.4.3 可靠性评估 | 第46-48页 |
| 4.5 本章小结 | 第48-50页 |
| 5 总结与展望 | 第50-52页 |
| 5.1 总结 | 第50页 |
| 5.2 展望 | 第50-52页 |
| 参考文献 | 第52-55页 |
| 致谢 | 第55-56页 |
| 个人简历及发表论文情况 | 第56页 |