基于控制混淆和布局混淆的代码混淆系统
| 摘要 | 第5-7页 |
| Abstract | 第7-8页 |
| 第1章 绪论 | 第15-21页 |
| 1.1 研究背景及意义 | 第15-16页 |
| 1.2 国内外研究现状 | 第16-18页 |
| 1.3 本文的研究内容 | 第18-19页 |
| 1.4 本文的组织结构 | 第19-21页 |
| 第2章 代码混淆技术 | 第21-35页 |
| 2.1 代码混淆的概念 | 第21-22页 |
| 2.2 代码混淆的分类 | 第22-30页 |
| 2.2.1 布局混淆 | 第22-23页 |
| 2.2.2 数据混淆 | 第23-26页 |
| 2.2.3 预防性混淆 | 第26页 |
| 2.2.4 控制混淆 | 第26-30页 |
| 2.3 代码混淆的评价标准 | 第30-33页 |
| 2.3.1 强度 | 第31页 |
| 2.3.2 耐受力 | 第31-32页 |
| 2.3.3 执行开销 | 第32-33页 |
| 2.3.4 隐蔽性 | 第33页 |
| 2.4 本章小结 | 第33-35页 |
| 第3章 混沌不透明谓词和压扁控制流算法 | 第35-47页 |
| 3.1 混沌理论 | 第35-36页 |
| 3.2 混沌映射 | 第36-41页 |
| 3.2.1 Logistic混沌映射 | 第36-38页 |
| 3.2.2 En_Logistic混沌映射 | 第38-40页 |
| 3.2.3 分段Logistic混沌映射 | 第40-41页 |
| 3.3 混沌不透明谓词 | 第41-44页 |
| 3.3.1 不透明谓词的定义 | 第41-42页 |
| 3.3.2 混沌不透明谓词 | 第42-44页 |
| 3.4 压扁控制流算法 | 第44-46页 |
| 3.5 本章小结 | 第46-47页 |
| 第4章 算法设计与实现 | 第47-61页 |
| 4.1 布局混淆 | 第47-48页 |
| 4.2 不透明谓词的构造 | 第48-50页 |
| 4.2.1 基于同余方程的不透明谓词的构造 | 第48-49页 |
| 4.2.2 N态混沌不透明谓词的构造 | 第49-50页 |
| 4.3 不透明谓词的插入 | 第50-54页 |
| 4.3.1 在分支条件判断处插入不透明谓词 | 第50-52页 |
| 4.3.2 在顺序执行的语句中插入不透明谓词 | 第52-54页 |
| 4.4 改进的压扁控制流算法 | 第54-55页 |
| 4.5 算法的实现 | 第55-59页 |
| 4.5.1 对代码进行控制混淆 | 第55-57页 |
| 4.5.2 对代码进行布局混淆 | 第57-59页 |
| 4.6 本章小结 | 第59-61页 |
| 第5章 实验与分析 | 第61-71页 |
| 5.1 实验平台与测试用例 | 第61-62页 |
| 5.2 正确性分析 | 第62-63页 |
| 5.3 安全性分析 | 第63-64页 |
| 5.4 不透明谓词的生成算法分析 | 第64-65页 |
| 5.5 有效性分析 | 第65-70页 |
| 5.5.1 混淆后代码的执行开销 | 第66-68页 |
| 5.5.2 混淆后代码的强度 | 第68-69页 |
| 5.5.3 混淆后代码的隐蔽性 | 第69-70页 |
| 5.5.4 混淆后代码的耐受力 | 第70页 |
| 5.6 本章小结 | 第70-71页 |
| 第6章 总结与展望 | 第71-73页 |
| 6.1 本文总结 | 第71-72页 |
| 6.2 后续展望 | 第72-73页 |
| 参考文献 | 第73-77页 |
| 致谢 | 第77-79页 |
| 在读期间发表的学术论文与取得的研究成果 | 第79页 |