摘要 | 第4-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第9-14页 |
1.1 课题背景 | 第9-11页 |
1.2 研究现状 | 第11-12页 |
1.3 本文的主要工作 | 第12页 |
1.4 论文组织架构 | 第12-14页 |
第二章 Android软件保护技术分析 | 第14-33页 |
2.1 Android系统架构 | 第14-18页 |
2.1.1 Android系统组成框架 | 第14-16页 |
2.1.2 Android应用软件框架 | 第16页 |
2.1.3 Android系统安全体系 | 第16-18页 |
2.2 Android应用软件的安全威胁 | 第18-21页 |
2.2.1 Android系统面临的安全威胁 | 第18页 |
2.2.2 针对Android应用软件的攻击方式 | 第18-21页 |
2.3 Android软件安全保护技术分析 | 第21-32页 |
2.3.1 静态保护技术分析 | 第21-31页 |
2.3.1.1 隐藏dex文件中的类方法 | 第21-24页 |
2.3.1.2 动态加载 | 第24-25页 |
2.3.1.3 apk伪加密 | 第25-28页 |
2.3.1.4 代码混淆 | 第28-29页 |
2.3.1.5 软件加固 | 第29-31页 |
2.3.1.6 资源文件保护 | 第31页 |
2.3.2 动态保护技术分析 | 第31-32页 |
2.3.2.1 反调试器技术 | 第31页 |
2.3.2.2 反模拟器技术 | 第31-32页 |
2.4 本章小结 | 第32-33页 |
第三章 Android软件保护关键技术设计 | 第33-52页 |
3.1 基于Linux系统函数Ptrace的动态保护技术设计 | 第33-39页 |
3.1.1 应用进程启动设计 | 第33-34页 |
3.1.2 进程间通信机制设计 | 第34-36页 |
3.1.3 反调试技术整体设计 | 第36-39页 |
3.2 Android模拟器综合检测技术设计 | 第39-45页 |
3.2.1 Android模拟器与真实设备的区别 | 第40-41页 |
3.2.2 现有Android模拟器检测技术分析 | 第41-43页 |
3.2.2.1 基于设备处理性能检测 | 第41-42页 |
3.2.2.2 基于代码指令执行结果检测 | 第42页 |
3.2.2.3 基于组成模块不同检测 | 第42-43页 |
3.2.3 Android模拟器检测技术设计 | 第43-45页 |
3.3 基于变长密钥加密的资源文件保护技术设计 | 第45-51页 |
3.3.1 现有资源文件保护技术分析 | 第45-46页 |
3.3.2 资源文件保护技术设计 | 第46-51页 |
3.3.2.1 加密算法选择 | 第46-47页 |
3.3.2.2 加密方式选择 | 第47-48页 |
3.3.2.3 密钥保护设计 | 第48-49页 |
3.3.2.4 变长密钥设计 | 第49-51页 |
3.4 本章小结 | 第51-52页 |
第四章 Android软件保护平台设计与实现 | 第52-79页 |
4.1 软件保护平台概述 | 第52-55页 |
4.1.1 平台基本结构 | 第53页 |
4.1.2 应用加固模块流程设计 | 第53-55页 |
4.2 反动态调试模块 | 第55-64页 |
4.2.1 具体实现 | 第55-60页 |
4.2.2 实验结果分析 | 第60-64页 |
4.3 反模拟器模块 | 第64-67页 |
4.3.1 具体实现 | 第64-66页 |
4.3.2 实验结果分析 | 第66-67页 |
4.4 资源文件保护模块 | 第67-78页 |
4.4.1 具体实现 | 第67-75页 |
4.4.1.1 加密部分 | 第67-72页 |
4.4.1.2 解密部分 | 第72-75页 |
4.4.2 实验结果分析 | 第75-78页 |
4.5 本章小结 | 第78-79页 |
第五章 总结和展望 | 第79-81页 |
5.1 论文工作总结 | 第79-80页 |
5.2 问题和展望 | 第80-81页 |
参考文献 | 第81-83页 |
致谢 | 第83-84页 |
攻读学位期间发表的学术论文列表 | 第84页 |