面向Java的反逆向技术的研究
致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7页 |
1 引言 | 第10-14页 |
1.1 研究背景 | 第10-12页 |
1.2 本文研究内容 | 第12-13页 |
1.3 课题目标 | 第13页 |
1.4 本文的组织 | 第13-14页 |
2 逆向工程与反逆向工程 | 第14-24页 |
2.1 逆向工程 | 第14-16页 |
2.1.1 逆向工程的主要分析方法 | 第14-15页 |
2.1.2 控制流图 | 第15-16页 |
2.2 反逆向工程 | 第16-22页 |
2.2.1 反逆向工程技术 | 第16-17页 |
2.2.2 代码混淆技术 | 第17-22页 |
2.3 本章小结 | 第22-24页 |
3 基于复合混沌系统的不透明谓词 | 第24-38页 |
3.1 混沌理论简介 | 第24-28页 |
3.1.1 混沌理论的定义 | 第24-25页 |
3.1.2 典型的混沌系统 | 第25-28页 |
3.2 混沌系统的设计 | 第28-30页 |
3.3 构造混沌不透明谓词 | 第30-36页 |
3.3.1 不透明谓词简介 | 第30-31页 |
3.3.2 混沌的不透明谓词构造和输出 | 第31-34页 |
3.3.3 不透明谓词的插入 | 第34-36页 |
3.4 本章小结 | 第36-38页 |
4 基于控制流平整化的控制流混淆方法 | 第38-46页 |
4.1 控制流平整化 | 第38-40页 |
4.2 改进的控制流平整化方法 | 第40-42页 |
4.3 改进的控制流平整化算法 | 第42-44页 |
4.4 本章小结 | 第44-46页 |
5 混淆器JSCO_OP的实现 | 第46-58页 |
5.1 设计目标 | 第46页 |
5.2 系统模块 | 第46-47页 |
5.3 JSCO_OP的工作流程 | 第47-49页 |
5.4 代码混淆模块算法实现 | 第49-56页 |
5.4.1 函数混淆处理的算法 | 第50-51页 |
5.4.2 For基本语块的混淆算法 | 第51-53页 |
5.4.3 If基本语块的混淆算法 | 第53-54页 |
5.4.4 While基本语块的混淆算法 | 第54-56页 |
5.4.5 Switch基本语块的混淆算法 | 第56页 |
5.5 本章小结 | 第56-58页 |
6 实验结果与分析 | 第58-68页 |
6.1 正确性 | 第58-59页 |
6.2 程序复杂度 | 第59-61页 |
6.3 控制流的复杂度 | 第61-63页 |
6.4 程序的运行效率 | 第63-66页 |
6.5 抗攻击性 | 第66-67页 |
6.6 本章小结 | 第67-68页 |
结论 | 第68-70页 |
参考文献 | 第70-73页 |
作者简历及攻读硕士学位期间取得的研究成果 | 第73-76页 |
学位论文数据集 | 第76页 |