基于控制流平展化代码变形技术的研究
| 摘要 | 第1-5页 |
| Abstract | 第5-9页 |
| 第1章 绪论 | 第9-15页 |
| ·课题背景及意义 | 第9-10页 |
| ·代码变形的定义及流程 | 第10-11页 |
| ·代码变形技术研究的历史与现状 | 第11-13页 |
| ·本文内容及组织 | 第13-15页 |
| ·本文内容 | 第13-14页 |
| ·本文的组织 | 第14-15页 |
| 第2章 代码变形技术简介 | 第15-23页 |
| ·引言 | 第15页 |
| ·代码变形的对象 | 第15-17页 |
| ·源代码变形 | 第15-16页 |
| ·目标代码变形 | 第16页 |
| ·Java 字节码变形 | 第16-17页 |
| ·源代码变形的有效性 | 第17页 |
| ·代码变形技术的划分 | 第17-22页 |
| ·词法变形技术 | 第17-18页 |
| ·数据变形技术 | 第18页 |
| ·控制流变形技术 | 第18-22页 |
| ·本章小结 | 第22-23页 |
| 第3章 控制流平展化的改进 | 第23-39页 |
| ·引言 | 第23-24页 |
| ·控制流平展化技术分析 | 第24-30页 |
| ·算法实现前提 | 第24-25页 |
| ·控制流平展化算法 | 第25-30页 |
| ·控制流平展化的改进研究 | 第30-38页 |
| ·控制流平展化的不足 | 第30-32页 |
| ·调度变量的保护方案 | 第32-34页 |
| ·链路状态路由思想的引入 | 第34-36页 |
| ·调度变量动态赋值算法 | 第36-37页 |
| ·不透明谓词思想的引入 | 第37页 |
| ·构造插入伪代码块算法 | 第37-38页 |
| ·本章小结 | 第38-39页 |
| 第4章 改进前后实验及结果分析 | 第39-48页 |
| ·实验设置 | 第39-40页 |
| ·改进控制流平展化测试结果及分析 | 第40-42页 |
| ·测试代码功能性测试结果及分析 | 第42-43页 |
| ·源代码变形前后结果及分析 | 第43页 |
| ·源代码变形前后流程图对比分析 | 第43-44页 |
| ·可执行代码变形前后反汇编控制流图对比分析 | 第44-47页 |
| ·实验总结 | 第47页 |
| ·本章小结 | 第47-48页 |
| 第5章 控制流变形模型 | 第48-58页 |
| ·模型思想来源 | 第48-49页 |
| ·模型设计思想与目标 | 第49页 |
| ·模型的建立与实现 | 第49-54页 |
| ·模型的建立 | 第49-50页 |
| ·模型的实现 | 第50-54页 |
| ·实验结果及分析 | 第54-57页 |
| ·实验设置 | 第54页 |
| ·测试代码变形后功能性测试结果及分析 | 第54-55页 |
| ·测试源代码变形后的结果及分析 | 第55-56页 |
| ·测试源代码变形后流程图对比分析 | 第56-57页 |
| ·实验总结 | 第57页 |
| ·本章小结 | 第57-58页 |
| 结论 | 第58-59页 |
| 参考文献 | 第59-63页 |
| 攻读硕士学位期间发表的学术论文 | 第63-64页 |
| 附录一 第4 章测试代码的实验结果 | 第64-69页 |
| 附录二 第5 章测试代码的实验结果 | 第69-77页 |
| 致谢 | 第77页 |