摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
符号对照表 | 第10-11页 |
缩略语对照表 | 第11-16页 |
第一章 绪论 | 第16-22页 |
1.1 研究背景 | 第16-17页 |
1.2 国内外研究现状 | 第17-19页 |
1.2.1 Android逆向研究现状 | 第17-18页 |
1.2.2 Android数据保护研究现状 | 第18-19页 |
1.3 论文内容与组织结构 | 第19-22页 |
第二章 基础知识 | 第22-36页 |
2.1 Android操作平台简介 | 第22-24页 |
2.1.1 Android系统简介 | 第22页 |
2.1.2 Android系统的层次架构 | 第22-24页 |
2.1.3 Dalvik虚拟机 | 第24页 |
2.2 Android系统安全机制 | 第24-27页 |
2.2.1 权限机制 | 第25-26页 |
2.2.2 签名机制 | 第26页 |
2.2.3 沙箱机制 | 第26-27页 |
2.3 Android应用 | 第27-30页 |
2.3.1 APK构建过程 | 第27-28页 |
2.3.2 APK反编译及回编译 | 第28-29页 |
2.3.3 APK结构 | 第29-30页 |
2.4 文件结构 | 第30-32页 |
2.4.1 Dex文件整体结构 | 第30-31页 |
2.4.2 ELF文件整体结构 | 第31-32页 |
2.5 数据分存思想 | 第32-34页 |
2.5.1 秘密共享 | 第32-33页 |
2.5.2 中国剩余定理 | 第33-34页 |
2.6 本章小结 | 第34-36页 |
第三章 基于逆向工程的Android破解技术的研究 | 第36-56页 |
3.1 综述 | 第36-37页 |
3.2 基于壳的文件保护研究 | 第37-41页 |
3.2.1 Dex文件加壳 | 第38-39页 |
3.2.2 自定义指令加壳方式 | 第39-40页 |
3.2.3 so文件加壳 | 第40-41页 |
3.3 基于对抗的保护研究 | 第41-46页 |
3.3.1 工具对抗 | 第42-43页 |
3.3.2 属性检测 | 第43-44页 |
3.3.3 代码变形 | 第44-46页 |
3.4 注入技术 | 第46-51页 |
3.4.1 Smali注入 | 第47页 |
3.4.2 Ptrace注入 | 第47-49页 |
3.4.3 Hook注入 | 第49-51页 |
3.5 破解技术的实现 | 第51-55页 |
3.5.1 脱壳实现 | 第51-53页 |
3.5.2 签名验证绕过 | 第53-54页 |
3.5.3 Hook注入实现 | 第54-55页 |
3.6 本章小结 | 第55-56页 |
第四章 Android应用数据保护技术的研究与实现 | 第56-70页 |
4.1 数据保护方案设计 | 第56-57页 |
4.2 Encryption模块 | 第57-60页 |
4.2.1 数据生成 | 第58-59页 |
4.2.2 数据存放 | 第59-60页 |
4.3 Anti-reverse模块 | 第60-64页 |
4.3.1 so加壳 | 第60-61页 |
4.3.2 逆向对抗 | 第61-63页 |
4.3.3 防注入攻击 | 第63-64页 |
4.4 Decryption模块 | 第64-67页 |
4.4.1 验证信息 | 第64-66页 |
4.4.2 数据恢复 | 第66-67页 |
4.5 实验结果分析 | 第67-69页 |
4.5.1 性能分析 | 第67-68页 |
4.5.2 安全性分析 | 第68-69页 |
4.5.3 结果分析 | 第69页 |
4.6 本章小结 | 第69-70页 |
第五章 总结与展望 | 第70-72页 |
5.1 论文工作总结 | 第70页 |
5.2 未来展望 | 第70-72页 |
参考文献 | 第72-76页 |
致谢 | 第76-78页 |
作者简介 | 第78-79页 |