Android 字节码动态分析分布式框架
摘要 | 第3-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第11-15页 |
1.1 研究背景 | 第11页 |
1.2 当前分析技术及难点 | 第11-13页 |
1.3 本文的解决方案 | 第13-14页 |
1.4 本章小结 | 第14-15页 |
第二章 相关工作 | 第15-26页 |
2.1 技术背景 | 第15-21页 |
2.1.1 JVM上的ShadowVM框架 | 第15-17页 |
2.1.2 DVM与安卓应用程序 | 第17-18页 |
2.1.3 安卓应用的组成 | 第18页 |
2.1.4 安卓进程间通信Binder机制 | 第18-20页 |
2.1.5 安卓匿名共享内存Ashmem | 第20-21页 |
2.2 相关研究工作 | 第21-25页 |
2.3 本章小结 | 第25-26页 |
第三章 系统设计 | 第26-39页 |
3.1 系统架构 | 第26-29页 |
3.1.1 架构因素 | 第26-27页 |
3.1.2 架构设计 | 第27-29页 |
3.2 基于事件的分析模型 | 第29-36页 |
3.2.1 虚拟机事件 | 第30-32页 |
3.2.2 异步分析事件 | 第32-35页 |
3.2.3 Binder事件 | 第35-36页 |
3.3 支持并发的事件队列 | 第36-37页 |
3.4 分析与注入配置 | 第37-38页 |
3.5 本章小结 | 第38-39页 |
第四章 系统实现 | 第39-53页 |
4.1 安卓源代码的修改 | 第39-40页 |
4.2 安卓系统ACS通信服务 | 第40-47页 |
4.2.1 初始化功能 | 第42-43页 |
4.2.2 注入服务 | 第43页 |
4.2.3 事件接受和转发 | 第43-47页 |
4.3 Dalvik虚拟机的扩展 | 第47-50页 |
4.3.1 ShadowVM支持 | 第47-48页 |
4.3.2 虚拟机事件 | 第48-50页 |
4.4 Binder的扩展 | 第50-51页 |
4.5 ShadowVM的扩展 | 第51-52页 |
4.6 本章小结 | 第52-53页 |
第五章 实例分析 | 第53-66页 |
5.1 覆盖率程序分析实例 | 第53-58页 |
5.1.1 注入与分析实现 | 第53-56页 |
5.1.2 Grinderbench测试 | 第56-58页 |
5.1.3 安卓应用情景测试 | 第58页 |
5.2 权限使用检测实例 | 第58-65页 |
5.2.1 注入与分析实现 | 第59-63页 |
5.2.2 结果以及分析 | 第63-65页 |
5.3 本章小结 | 第65-66页 |
第六章 展望与总结 | 第66-68页 |
6.1 不足以及解决方法 | 第66页 |
6.2 全文总结 | 第66-68页 |
参考文献 | 第68-72页 |
致谢 | 第72-73页 |
攻读硕士学位期间已发表或录用的论文 | 第73-75页 |