摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-18页 |
1.1 研究工作的背景及意义 | 第11-13页 |
1.2 国内外研究现状 | 第13-15页 |
1.2.1 软件加固保护技术的研究现状和发展态势 | 第13-14页 |
1.2.2 Android应用安全加固工具的现状和发展态势 | 第14-15页 |
1.3 研究目标与内容 | 第15-17页 |
1.3.1 研究目标 | 第15-16页 |
1.3.2 研究内容 | 第16-17页 |
1.4 本论文的结构安排 | 第17-18页 |
第二章 Android系统理论及安全加固基础知识 | 第18-35页 |
2.1 Android平台系统架构 | 第18-19页 |
2.2 Dalvik虚拟机结构及机制 | 第19-24页 |
2.2.1 Dalvik虚拟机简介 | 第19-20页 |
2.2.2 dex文件格式 | 第20-22页 |
2.2.3 反射机制 | 第22-23页 |
2.2.4 Dalvik虚拟机运行应用程序过程 | 第23-24页 |
2.3 Android Apk的结构及编译过程 | 第24-26页 |
2.3.1 Android Apk的结构 | 第24-25页 |
2.3.2 Android Apk的编译过程 | 第25-26页 |
2.4 Android应用安全加固技术 | 第26-32页 |
2.4.1 对抗反编译 | 第26-27页 |
2.4.2 对抗静态分析 | 第27-30页 |
2.4.2.1 代码混淆技术 | 第27-28页 |
2.4.2.2 NDK保护 | 第28-29页 |
2.4.2.3 外壳保护 | 第29-30页 |
2.4.3 对抗动态调试 | 第30-31页 |
2.4.4 防止重编译 | 第31-32页 |
2.4.5 Android动态加载技术 | 第32页 |
2.5 Android应用安全加固相关工具 | 第32-34页 |
2.5.1 ApkTool | 第32-33页 |
2.5.2 Smali和Baksmali | 第33页 |
2.5.3 ZipAlign | 第33-34页 |
2.5.4 SignApk | 第34页 |
2.6 本章小结 | 第34-35页 |
第三章 Android应用安全加固关键技术研究与实现 | 第35-51页 |
3.1 代码混淆库的设计与实现 | 第35-42页 |
3.1.1 总体框图设计 | 第35-36页 |
3.1.2 代码混淆库的处理流程及主要类 | 第36-40页 |
3.1.3 代码混淆库的实现 | 第40-42页 |
3.2 加壳处理方案的设计与实现 | 第42-48页 |
3.2.1 加壳处理方案的设计 | 第42-45页 |
3.2.2 加壳处理方案的实现 | 第45-48页 |
3.3 反编译工具压力测试试验 | 第48-50页 |
3.4 本章小结 | 第50-51页 |
第四章 Android应用安全加固系统设计与实现 | 第51-66页 |
4.1 需求分析 | 第51页 |
4.2 系统分析与总体设计 | 第51-54页 |
4.3 PC端程序实现 | 第54-61页 |
4.3.1 Apk文件解析模块 | 第54-57页 |
4.3.2 代码混淆模块 | 第57-59页 |
4.3.3 对抗反编译和检测校验模块 | 第59-61页 |
4.3.4 Apk签名模块 | 第61页 |
4.4 Android智能手机端程序实现 | 第61-65页 |
4.5 本章小结 | 第65-66页 |
第五章 系统测试 | 第66-78页 |
5.1 评价标准及系统测试环境 | 第66-68页 |
5.1.1 评价标准 | 第66页 |
5.1.2 系统测试环境 | 第66-68页 |
5.2 系统功能测试 | 第68-73页 |
5.3 系统性能测试 | 第73-77页 |
5.4 本章小结 | 第77-78页 |
第六章 全文总结与展望 | 第78-80页 |
6.1 全文总结 | 第78页 |
6.2 后续工作展望 | 第78-80页 |
致谢 | 第80-81页 |
参考文献 | 第81-84页 |