基于混淆和水印的Java字节码安全技术的研究
摘要 | 第1-4页 |
ABSTRACT | 第4-9页 |
第一章 绪论 | 第9-13页 |
·研究的背景 | 第9页 |
·混淆技术的研究现状 | 第9-10页 |
·软件水印技术的研究现状 | 第10-11页 |
·Java 字节码安全技术的研究现状 | 第11-12页 |
·研究的设想和预期结果 | 第12页 |
·本文结构及章节安排 | 第12-13页 |
第二章 Java 字节码 | 第13-17页 |
·Java 字节码指令 | 第13-14页 |
·Java 字节码的验证 | 第14页 |
·Java 字节码的反编译 | 第14页 |
·Java class 文件的盗版 | 第14-15页 |
·一种新的 Java 保护模型 | 第15-16页 |
本章小结 | 第16-17页 |
第三章 代码混淆技术 | 第17-31页 |
·混淆变换的定义 | 第17页 |
·混淆变换的分类 | 第17页 |
·混淆变换的评价 | 第17-20页 |
·力度 | 第18页 |
·抵抗力 | 第18-19页 |
·执行代价 | 第19-20页 |
·质量 | 第20页 |
·布局混淆 | 第20页 |
·数据混淆 | 第20-28页 |
·抽象数据类型的混淆 | 第21-26页 |
·简单数据类型的混淆 | 第26-28页 |
·控制流混淆 | 第28-30页 |
·摧毁基本块混淆 | 第29页 |
·取代goto 混淆 | 第29-30页 |
·交叉loop 循换 | 第30页 |
·预防性混淆 | 第30页 |
本章小结 | 第30-31页 |
第四章 逆向工程技术-程序切片 | 第31-37页 |
·程序切片的概念 | 第31页 |
·程序切片的分类 | 第31-32页 |
·Java 程序的依赖 | 第32-33页 |
·Java 程序切片 | 第33-35页 |
·分层切片 | 第33-34页 |
·方法内切片 | 第34-35页 |
·程序切片构成的威胁 | 第35页 |
·抵抗程序切片的混淆策略 | 第35-36页 |
本章小结 | 第36-37页 |
第五章 水印算法 | 第37-41页 |
·水印的概述 | 第37-38页 |
·水印的类别 | 第37页 |
·水印需要满足的要求 | 第37-38页 |
·静态代码水印遭受的攻击 | 第38页 |
·水印算法描述 | 第38-40页 |
·水印的嵌入 | 第38-40页 |
·水印的提取 | 第40页 |
·水印算法的缺点 | 第40页 |
本章小结 | 第40-41页 |
第六章 系统设计与实现 | 第41-65页 |
·JOCOW 的设计 | 第41-44页 |
·JOCOW 用户接口 | 第41-43页 |
·JOCOW 的系统结构 | 第43-44页 |
·类文件的解析 | 第44-47页 |
·classFile 结构 | 第44-46页 |
·读取类文件 | 第46-47页 |
·算法实现 | 第47-63页 |
·词法转换算法 | 第47-49页 |
·类拆分算法 | 第49-50页 |
·类型隐藏算法 | 第50-51页 |
·类的假重构算法 | 第51-52页 |
·控制破坏混淆算法 | 第52-54页 |
·嵌入水印算法 | 第54-61页 |
·JOCOW 的实现算法 | 第61-63页 |
·保护策略的制定 | 第63-64页 |
本章小结 | 第64-65页 |
第七章 评价与比较 | 第65-69页 |
·混淆转换的正确性评价 | 第65-66页 |
·嵌入水印的正确性评价 | 第66页 |
·混淆转换的质量评价 | 第66-67页 |
·水印算法的质量评价 | 第67-68页 |
·Java 保护工具的比较 | 第68页 |
本章小结 | 第68-69页 |
结论 | 第69-70页 |
参考文献 | 第70-72页 |
攻读硕士学位期间发表的学术论文 | 第72-73页 |
致谢 | 第73-74页 |