Android应用防篡改机制的研究
2015-02-13李萍
李萍
(广东省轻工业技师学院,广州 513000)
Android应用防篡改机制的研究
李萍
(广东省轻工业技师学院,广州 513000)
面对开发者所编写的Android应用被第三方恶意破解、篡改、盗版的现状,为了找出如何保护Android应用的机制,先从篡改者的攻击手段入手,分析应用篡改的基本原理,结合Android系统自身的相关机制,针对性地提出如何保护应用的防御手段和检测手段,同时也说明这些技术手段的局限性以及引起局限性的根本原因,最终提出了针对一般破解者的防御策略。
Android应用;防篡改;机制
当前Android系统占据了智能系统市场的主要份额,但其盗版问题日益严重,影响了开发者的收益,推动了恶意木马的传播,恶化了整个应用的生态圈。本文着重分析Android应用被篡改的主要手段和机制,结合之前已有的保护手段,进一步研究更加有效的应用保护机制。
一、Android应用篡改机制分析
分析篡改机制之前,首先需要对Android应用的打包机制和包结构做一些简单的说明。
(一)Android打包机制说明
Android的安装包称为APK(android package file)的缩写。APK文件是标准的Zip文件,构造方式和JAR文件类似,包含一个Android应用运行所需的执行文件、动态链接库、资源文件、证书、清单文件,即:
1.AndroidManifest.xml:清单文件
2.Lib目录:存放动态链接库(so)文件
3.META-INF:签名信息的存放目录
4.res:资源存放目录(布局、图片、字符串)
5.Classes.dex:DEX格式的可执行文件
6.Resources.arsc:编译后的二进制资源文件
Android的应用开发主要使用两种语言:Java和C/C++,前者用于构造应用的主体,后者也是Android中NDK(native develop kit)所使用的语言,主要用于生成动态链接库(so)。此外还有AIDL(Android Interface definition language),用于编写进程间通信用的接口文件。……
