论文部分内容阅读
Android系统已经成为移动端操作系统领军者,Android应用也以爆发式的飞速发展。伴随而来的则是隐藏在普通应用中的恶意应用,这些应用可能盗取个人隐私,恶意扣费,暴露账号信息等,对用户造成威胁。攻击者通过反编译获得应用源代码,向其中植入恶意代码生成恶意应用后再重打包分发,用户在不知情的情况下下载使用了这些伪装的应用将会导致危害发生。Android加固技术是针对这种威胁的有效防御措施,通过对应用源代码进行加壳保护可以防止黑客获取源代码实施攻击。本文首先分析了 Android加固的现状及现有加固技术的弊端,并针对弊端提出针对性改进的措施,设计并实现了安全高效的基于DexClassLoader的应用加固技术。本文所做的工作主要如下:1)介绍了 Android系统架构和应用程序结构、组件及应用程序启动流程,分析应用程序面临的主要威胁以及Android加固的有效性和必要性。2)介绍加固技术的概念,分析了现有的三种主流加固技术(基于UPX的加固技术、基于Dex嵌入的加固技术和基于DexClassLoader的传统加固技术)的实现流程,并从加固方案的广泛性、安全性和简洁性三个方面指出了它们各自的优点和缺陷。3)基于传统加固技术和所研究的关于Android原理和Android安全的相关技术,提出了针对Android应用程序的一整套新型的加固解决方案。4)对本文所提出的关键技术进行了技术研究和编程实现,包括对二进制Manifest的文件格式解析和加密,基于DexClassLoader原理的Dex文件内存型加载,Android加固防调试的模拟器检测技术,so库静态保护技术。最后本文设计并实现了基于DexClassloader的Android加固系统,通过和和传统加固技术进行实验对比,得出本文实现的应用加固解决方案比传统加固技术具有更广泛的平台和系统适用性,更强大的防破解安全保障以及更简洁的加固流程的结论。