Android系统的代码保护技术研究
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第13-18页 |
1.1 研究背景和意义 | 第13-14页 |
1.2 国内外研究现状 | 第14-16页 |
1.3 论文的主要工作 | 第16页 |
1.4 论文的结构安排 | 第16-18页 |
第二章 Android系统概述 | 第18-24页 |
2.1 Android系统简介 | 第18页 |
2.2 Android开发方式 | 第18-19页 |
2.2.1 SDK | 第19页 |
2.2.2 NDK | 第19页 |
2.3 Android应用层 | 第19-23页 |
2.3.1 活动 | 第20页 |
2.3.2 服务 | 第20-21页 |
2.3.3 广播接收器 | 第21-22页 |
2.3.4 内容提供器 | 第22页 |
2.3.5 意图 | 第22-23页 |
2.4 本章小结 | 第23-24页 |
第三章 Android安全机制分析 | 第24-30页 |
3.1 Android沙箱机制 | 第24-25页 |
3.2 Android权限机制 | 第25-27页 |
3.3 Android签名机制 | 第27-28页 |
3.4 本章小结 | 第28-30页 |
第四章 Android逆向与代码保护 | 第30-41页 |
4.1 Android应用程序文件结构 | 第30-31页 |
4.2 Android逆向工程 | 第31-32页 |
4.2.1 dex2jar | 第31页 |
4.2.2 baksmali | 第31-32页 |
4.3 Android代码保护技术 | 第32-40页 |
4.3.1 完整性校验 | 第32-34页 |
4.3.2 代码混淆 | 第34-35页 |
4.3.3 反射调用与动态加载 | 第35-36页 |
4.3.4 NDK | 第36-37页 |
4.3.5 反逆向与反调试 | 第37-40页 |
4.3.6 网络化信息存储 | 第40页 |
4.4 本章小结 | 第40-41页 |
第五章 Android代码加固流程设计 | 第41-55页 |
5.1 Android代码加固总体流程 | 第41-42页 |
5.1.1 概述 | 第41-42页 |
5.1.2 总体架构图 | 第42页 |
5.2 敏感函数封装 | 第42-50页 |
5.2.1 敏感函数分析 | 第42-46页 |
5.2.2 Dex文件加壳技术 | 第46-50页 |
5.3 基于NDK的so加密库 | 第50-52页 |
5.4 APK校验 | 第52-53页 |
5.5 基于Pro Guard的代码混淆 | 第53页 |
5.6 本章小结 | 第53-55页 |
第六章 实验与分析 | 第55-64页 |
6.1 实验环境 | 第55页 |
6.1.1 代码开发环境 | 第55页 |
6.1.2 加固实验环境 | 第55页 |
6.2 代码加固流程实现 | 第55-61页 |
6.2.1 权限和敏感函数定位 | 第55-59页 |
6.2.2 so库导入 | 第59-60页 |
6.2.3 代码植入 | 第60-61页 |
6.2.4 代码混淆 | 第61页 |
6.3 代码加固结果分析 | 第61-62页 |
6.3.1 文件对比 | 第61-62页 |
6.3.2 逆向对比 | 第62页 |
6.3.3 结果分析 | 第62页 |
6.4 本章小结 | 第62-64页 |
第七章 总结与展望 | 第64-67页 |
7.1 本文工作总结 | 第64-65页 |
7.2 研究展望 | 第65-67页 |
参考文献 | 第67-71页 |
致谢 | 第71-72页 |
攻读硕士学位期间已发表或录用的论文 | 第72-73页 |
附件 | 第73页 |