用于软件保护的代码混淆技术研究
摘要 | 第1-4页 |
ABSTRACT | 第4-9页 |
第1章 绪论 | 第9-13页 |
·研究背景及意义 | 第9-11页 |
·代码混淆技术当前研究现状 | 第11页 |
·主要研究内容 | 第11-12页 |
·本文结构及章节安排 | 第12-13页 |
第2章 应用安全与软件保护 | 第13-19页 |
·应用安全 | 第13-14页 |
·软件威胁模型 | 第14-15页 |
·什么是威胁模型 | 第14页 |
·三种基本的威胁模型 | 第14-15页 |
·软件保护措施 | 第15-17页 |
·篡改抵制 | 第15-16页 |
·软件多样性 | 第16页 |
·软件加密 | 第16页 |
·软件水印 | 第16-17页 |
·代码混淆 | 第17页 |
·本章小结 | 第17-19页 |
第3章 逆向工程技术 | 第19-29页 |
·概述 | 第19-24页 |
·逆向工程的概念 | 第19-20页 |
·逆向工程技术分类 | 第20-21页 |
·逆向工程研究方法 | 第21-23页 |
·逆向工程的应用 | 第23页 |
·逆向工程的的发展方向 | 第23-24页 |
·形式化方法在逆向工程中的应用 | 第24-28页 |
·形式化方法概述 | 第24-25页 |
·形式化方法分类和特点 | 第25-26页 |
·形式化方法应用于逆向工程 | 第26-28页 |
·结构化分析 | 第26-27页 |
·形式化规约的生成方法 | 第27-28页 |
·本章小结 | 第28-29页 |
第4章 代码混淆技术 | 第29-44页 |
·概述 | 第29-30页 |
·混淆变换的定义 | 第30-31页 |
·代码混淆的分类 | 第31-40页 |
·外形混淆 | 第31-32页 |
·控制流混淆 | 第32-36页 |
·分支插入变换 | 第33页 |
·循环条件插入变换 | 第33-34页 |
·将可化简的控制流转换为不可化简的控制流 | 第34页 |
·取消循环 | 第34-35页 |
·控制流恶化 | 第35页 |
·数据流变换 | 第35页 |
·使用对象和别名的不透明谓词 | 第35页 |
·使用并行技术构建不透明谓词 | 第35-36页 |
·数据混淆 | 第36-38页 |
·数组重构变换 | 第36-37页 |
·变量重组变换 | 第37-38页 |
·将静态数据转换为与程序相关的数据 | 第38页 |
·数值变量混合变换 | 第38页 |
·类结构混淆 | 第38-40页 |
·类熔合 | 第38-39页 |
·类分裂 | 第39页 |
·类型隐藏 | 第39-40页 |
·预防混淆 | 第40页 |
·代码混淆的性能与度量 | 第40-43页 |
·力量及其度量 | 第41页 |
·弹性及其度量 | 第41-42页 |
·执行代价及其度量 | 第42页 |
·隐蔽性及其度量 | 第42-43页 |
·代码混淆技术的应用与发展 | 第43页 |
·本章小结 | 第43-44页 |
第5章 软件保护模型与混淆转换模型 | 第44-50页 |
·通用软件保护模型 | 第44-46页 |
·模型的设计目标 | 第44页 |
·模型的设计思想 | 第44-46页 |
·面向对象程序的混淆转换模型 | 第46-49页 |
·模型的设计目标 | 第46页 |
·模型的设计思想 | 第46-49页 |
·本章小结 | 第49-50页 |
第6章 原型系统JOT 的设计与实现 | 第50-59页 |
·JOT 系统分析 | 第50-51页 |
·JOT 系统设计 | 第51-53页 |
·系统结构设计 | 第51-52页 |
·用户接口设计 | 第52-53页 |
·JOT 的核心算法 | 第53-57页 |
·外形混淆算法 | 第54页 |
·类熔合算法 | 第54-56页 |
·类熔分裂算法 | 第56页 |
·类型隐藏算法 | 第56-57页 |
·JOT 性能分析 | 第57-58页 |
·本章小节 | 第58-59页 |
第7章 结论与展望 | 第59-61页 |
·本论文的主要工作 | 第59-60页 |
·下一步的研究工作 | 第60-61页 |
参考文献 | 第61-67页 |
在学期间学术成果情况 | 第67-68页 |
致谢 | 第68页 |