摘要 | 第3-4页 |
Abstract | 第4-5页 |
第1章 绪论 | 第8-12页 |
1.1 研究背景及意义 | 第8-9页 |
1.2 国内外研究现状 | 第9-10页 |
1.3 论文主要研究内容 | 第10-11页 |
1.4 论文组织框架 | 第11-12页 |
第2章 软件水印中的概念 | 第12-24页 |
2.1 软件水印的定义 | 第12-13页 |
2.2 软件水印的分类 | 第13-16页 |
2.2.1 静态水印 | 第13-14页 |
2.2.2 动态水印 | 第14-16页 |
2.3 常见的动态编码图结构 | 第16-19页 |
2.3.1 CT算法 | 第16页 |
2.3.2 基数K编码 | 第16-17页 |
2.3.3 父指针树编码 | 第17页 |
2.3.4 排列图编码 | 第17-18页 |
2.3.5 PPCT编码 | 第18-19页 |
2.4 软件水印的性能评价 | 第19-20页 |
2.5 软件水印的攻击模式 | 第20-21页 |
2.6 软件水印保护 | 第21-22页 |
2.6.1 代码混淆 | 第21-22页 |
2.6.2 动态混淆与防篡改 | 第22页 |
2.6.3 代码迷乱 | 第22页 |
2.7 本章小结 | 第22-24页 |
第3章 软件水印的相关技术 | 第24-34页 |
3.1 水印预处理技术 | 第24-28页 |
3.1.1 中国剩余定理 | 第24-25页 |
3.1.2 Asmuth-Bloom(AB)门限分存算法 | 第25页 |
3.1.3 Asmuth-Bloom(AB)门限分存算法特性分析 | 第25-26页 |
3.1.4 矩阵分割的混沌置乱CS处理 | 第26-27页 |
3.1.5 矩阵分割的混沌置乱CS处理特性分析 | 第27-28页 |
3.2 软件水印中动态拓扑图的构造 | 第28-31页 |
3.2.1 PPCT及其改进图结构 | 第28-30页 |
3.2.2 PPCT及其改进图结构的特性分析 | 第30-31页 |
3.3 防篡改技术 | 第31-32页 |
3.3.1 自修改状态机(OBFAG_(swap)算法) | 第31页 |
3.3.2 篡改检测 | 第31-32页 |
3.4 本章小结 | 第32-34页 |
第4章 基于常量编码的动态图防篡改软件水印 | 第34-46页 |
4.1 水印预处理 | 第35-37页 |
4.1.1 矩阵分割混沌置乱处理方案的优化 | 第35-36页 |
4.1.2 水印的分裂 | 第36-37页 |
4.2 水印拓扑图的构造 | 第37-38页 |
4.3 水印的嵌入 | 第38-40页 |
4.3.1 标记函数 | 第38-39页 |
4.3.2 跟踪 | 第39页 |
4.3.3 水印的嵌入 | 第39-40页 |
4.4 防篡改 | 第40-41页 |
4.5 构造函数 | 第41-43页 |
4.6 水印的提取与识别 | 第43页 |
4.7 代码混淆技术 | 第43-45页 |
4.8 本章小结 | 第45-46页 |
第5章 水印方案的实现及性能分析 | 第46-68页 |
5.1 水印方案的实现 | 第46-61页 |
5.1.1 构造水印 | 第48页 |
5.1.2 水印的预处理 | 第48-49页 |
5.1.3 水印的编码与嵌入 | 第49-59页 |
5.1.3.1 分割拓扑图 | 第51-52页 |
5.1.3.2 生成伪代码 | 第52-54页 |
5.1.3.3 伪代码转换为Java代码 | 第54-56页 |
5.1.3.4 Java代码的嵌入 | 第56-57页 |
5.1.3.5 水印的识别 | 第57-59页 |
5.1.4 F函数的构造 | 第59-60页 |
5.1.5 常量保护 | 第60-61页 |
5.2 对水印系统的攻击 | 第61-63页 |
5.2.1 保持语义变换攻击 | 第61-62页 |
5.2.1.1 添加额外的操作数 | 第61-62页 |
5.2.1.2 对循环的变换处理 | 第62页 |
5.2.2 不透明谓词攻击 | 第62-63页 |
5.3 水印性能分析 | 第63-66页 |
5.3.1 数据率 | 第63-64页 |
5.3.2 隐蔽性 | 第64-65页 |
5.3.3 性能过载分析 | 第65-66页 |
5.4 本章小结 | 第66-68页 |
第6章 总结与展望 | 第68-70页 |
6.1 本文总结 | 第68页 |
6.2 工作展望 | 第68-70页 |
致谢 | 第70-72页 |
参考文献 | 第72-76页 |
附录 1 | 第76-77页 |