第1章 引言 | 第1-14页 |
·研究的背景和意义 | 第10-11页 |
·混淆技术当前的研究现状 | 第11-12页 |
·主要研究内容 | 第12-13页 |
·本文结构及章节安排 | 第13-14页 |
第2章 恶意主机环境下的攻击与防御 | 第14-22页 |
·应用安全 | 第14-15页 |
·软件威胁模型 | 第15-16页 |
·什么是威胁模型 | 第15页 |
·三种基本的威胁模型 | 第15-16页 |
·恶意主机的攻击 | 第16-17页 |
·恶意主机攻击的前提假设 | 第16页 |
·攻击方法分类 | 第16-17页 |
·防御措施 | 第17-19页 |
·篡改抵制 | 第18页 |
·软件多样性 | 第18页 |
·软件水印 | 第18-19页 |
·通用软件保护模型 | 第19-21页 |
·模型的设计目标 | 第19页 |
·模型的设计思想 | 第19-21页 |
·小结 | 第21-22页 |
第3章 代码混淆技术 | 第22-46页 |
·概述 | 第22-23页 |
·Java虚拟机与class文件 | 第23-26页 |
·Java class文件的格式 | 第24-25页 |
·字节代码指令集 | 第25-26页 |
·Java运行环境对混淆的影响 | 第26-27页 |
·Java虚拟机特性 | 第26-27页 |
·JVM内置class文件静态安全检查器 | 第27页 |
·控制流混淆 | 第27-39页 |
·重构程序的整体控制结构 | 第28-34页 |
·基本块混淆 | 第34-35页 |
·隐藏用于控制转换的短暂变量 | 第35-39页 |
·数据结构混淆 | 第39-43页 |
·类的合并 | 第40-42页 |
·类型隐藏 | 第42-43页 |
·面向对象程序的混淆转换模型 | 第43-45页 |
·模型的设计目标 | 第43页 |
·模型的设计思想 | 第43-45页 |
·小结 | 第45-46页 |
第4章 逆向工程技术 | 第46-52页 |
·概述 | 第46-49页 |
·逆向工程的概念及分类 | 第46-47页 |
·静态分析技术 | 第47-48页 |
·动态分析技术 | 第48-49页 |
·控制流程图(CFG)的自动生成 | 第49-51页 |
·小结 | 第51-52页 |
第5章 Java字节代码分析与混淆工具的设计与实现 | 第52-62页 |
·JBPOT的设计 | 第52-53页 |
·JBPOT的用户接口 | 第53-54页 |
·JBPOT的系统结构 | 第54-55页 |
·核心算法实现 | 第55-61页 |
·生成CFG算法 | 第55-59页 |
·重构程序整体控制结构算法 | 第59-60页 |
·类合并算法 | 第60-61页 |
·类型隐藏算法 | 第61页 |
·小结 | 第61-62页 |
第6章 系统评价与试验分析 | 第62-68页 |
·混淆转换的正确性评价 | 第62页 |
·混淆转换造成的性能过载 | 第62-65页 |
·控制流混淆转换对程序性能的影响 | 第63-65页 |
·类的合并与类型隐藏对程序性能的影响 | 第65页 |
·混淆转换的有效性 | 第65-67页 |
·小结 | 第67-68页 |
第7章 总结与展望 | 第68-69页 |
参考文献 | 第69-72页 |
致谢 | 第72页 |