摘要 | 第4-5页 |
Abstract | 第5页 |
专用术语注释表 | 第8-9页 |
第一章 绪论 | 第9-15页 |
1.1 研究背景及意义 | 第9-10页 |
1.2 研究现状 | 第10-13页 |
1.2.1 权限分析 | 第10-11页 |
1.2.2 静态代码分析 | 第11页 |
1.2.3 运行时分析 | 第11-12页 |
1.2.4 多种技术结合分析 | 第12-13页 |
1.3 本文的主要工作 | 第13-14页 |
1.4 本文的组织结构 | 第14-15页 |
第二章 Android背景知识 | 第15-23页 |
2.1 Android综述 | 第15-16页 |
2.1.1 Android系统架构 | 第15页 |
2.1.2 应用商城模式 | 第15-16页 |
2.2 Android安全机制 | 第16-17页 |
2.2.1 进程沙盒 | 第16页 |
2.2.2 权限机制 | 第16-17页 |
2.2.3 系统分区机制 | 第17页 |
2.2.4 应用签名机制 | 第17页 |
2.3 Android应用分析基础 | 第17-22页 |
2.3.1 Android应用文件组成 | 第17-18页 |
2.3.2 Dex文件结构 | 第18-19页 |
2.3.3 Android应用组件 | 第19-20页 |
2.3.4 Android系统启动过程 | 第20-21页 |
2.3.5 Android应用启动过程 | 第21-22页 |
2.4 本章小结 | 第22-23页 |
第三章 AppInsight系统模型的设计 | 第23-35页 |
3.1 目标与挑战 | 第23-27页 |
3.1.1 目标 | 第23页 |
3.1.2 挑战 | 第23-27页 |
3.2 模型整体设计 | 第27-34页 |
3.2.1 静态敏感Activity分析 | 第28-29页 |
3.2.2 动态目标方法追踪 | 第29-32页 |
3.2.3 日志存储分析与实时反馈 | 第32-34页 |
3.3 本章小结 | 第34-35页 |
第四章 AppInsight模型的实现 | 第35-51页 |
4.1 静态分析模块 | 第35-41页 |
4.1.1 smali简介 | 第35-37页 |
4.1.2 控制流分析 | 第37-39页 |
4.1.3 数据流分析 | 第39-41页 |
4.2 动态分析模块 | 第41-49页 |
4.2.1 方法解析 | 第41-42页 |
4.2.2 劫持与注入 | 第42-44页 |
4.2.3 方法追踪库的实现 | 第44-49页 |
4.3 日志存储与分析模块 | 第49页 |
4.4 本章小结 | 第49-51页 |
第五章 实验评估与分析 | 第51-62页 |
5.1 案例研究 | 第51-55页 |
5.2 应用测试 | 第55-57页 |
5.2.1 静态阶段 | 第56页 |
5.2.2 动态阶段 | 第56-57页 |
5.3 兼容性 | 第57-58页 |
5.4 性能开销 | 第58-60页 |
5.4.1 zygote性能损耗 | 第58-59页 |
5.4.2 CPU平均占用率 | 第59页 |
5.4.3 Java Microbenchmark | 第59-60页 |
5.5 本章小结 | 第60-62页 |
第六章 总结与展望 | 第62-64页 |
6.1 全文总结 | 第62-63页 |
6.2 未来工作展望 | 第63-64页 |
参考文献 | 第64-67页 |
附录1 攻读硕士学位期间撰写的论文 | 第67-68页 |
附录2 攻读硕士学位期间参加的科研项目 | 第68-69页 |
致谢 | 第69页 |