| 摘要 | 第1-5页 |
| Abstract | 第5-9页 |
| 第一章 引言 | 第9-11页 |
| ·课题背景及意义 | 第9页 |
| ·研究内容与目标 | 第9-10页 |
| ·本文的内容结构 | 第10-11页 |
| 第二章 软件保护技术及研究现状 | 第11-25页 |
| ·软件保护技术综述 | 第11-13页 |
| ·代码混淆技术及研究现状 | 第13-19页 |
| ·代码混淆的原则与目标 | 第13页 |
| ·代码混淆分类 | 第13-16页 |
| ·代码混淆技术研究现状 | 第16-19页 |
| ·软件水印技术及研究现状 | 第19-24页 |
| ·软件水印的含义与分类 | 第19页 |
| ·软件水印的理论模型 | 第19-20页 |
| ·软件水印的攻击模型 | 第20-22页 |
| ·软件水印研究综述 | 第22-24页 |
| ·本章小结 | 第24-25页 |
| 第三章 结合混淆方案的软件水印模型研究 | 第25-42页 |
| ·.NET Framework 概述 | 第25-26页 |
| ·PE 文件结构分析 | 第26-28页 |
| ·针对MSIL 的逆向分析 | 第28-32页 |
| ·基于栈的运算模型 | 第28-29页 |
| ·元数据 | 第29页 |
| ·可控性 | 第29页 |
| ·程序结构识别需解决的问题 | 第29-30页 |
| ·分析方法 | 第30-32页 |
| ·面向对象程序的混淆转换模型 | 第32-36页 |
| ·混淆转换的形式化定义 | 第32-33页 |
| ·基于整数分解的中间码切块思想 | 第33-36页 |
| ·基于代码混淆的软件水印设计方案 | 第36-40页 |
| ·软件水印的形式化定义 | 第36-37页 |
| ·水印信息转换规则设计 | 第37-38页 |
| ·基于字典序法的零水印信息嵌入 | 第38-40页 |
| ·本章小结 | 第40-42页 |
| 第四章 结合混淆方案的软件水印的设计与实现 | 第42-51页 |
| ·方案总体框架 | 第42-43页 |
| ·中间码代码切块和混淆算法 | 第43-47页 |
| ·中间码切块算法 | 第43页 |
| ·混淆算法 | 第43-46页 |
| ·块处理算法 | 第46-47页 |
| ·水印的嵌入和提取 | 第47-50页 |
| ·零水印获取及嵌入算法 | 第47-48页 |
| ·傀儡指令中嵌入水印 | 第48-49页 |
| ·提取水印 | 第49-50页 |
| ·本章小结 | 第50-51页 |
| 第五章 基于中间码混淆的软件水印系统实现及实验分析 | 第51-58页 |
| ·引言 | 第51页 |
| ·ILOWPTS 子系统介绍 | 第51-52页 |
| ·正确性评价 | 第52页 |
| ·性能评价 | 第52-57页 |
| ·混淆强度和水印嵌入容量 | 第53-54页 |
| ·抗攻击能力和水印鲁棒性 | 第54-56页 |
| ·代价 | 第56-57页 |
| ·本章小结 | 第57-58页 |
| 第六章 总结与展望 | 第58-59页 |
| 参考文献 | 第59-62页 |
| 致谢 | 第62-63页 |
| 作者简历 在学期间发表的学术论文与研究成果 | 第63页 |