一种基于android平台应用安装控制方法及系统的制作方法

文档序号:6354076阅读:267来源:国知局
专利名称:一种基于android平台应用安装控制方法及系统的制作方法
技术领域
本发明涉及通信领域,具体涉及一种基于android平台应用安装控制方法及系 统。
背景技术
随着智能移动终端的出现,随之出现了很多移动终端系统,当前的androicK安 卓)系统是一种广泛应用的智能移动终端系统,其中APK(Android application package) 应用安装文件是一种标准android应用安装程序。但是android系统的APK应用安装文件很容易就能被反编译和获取源代码,这严 重地侵犯了应用开发者的权利;并且当前并没有相关技术方案对APK安装文件进行加密和 保护,通用的反编译工具就能很好的对AH(安装文件进行反编译,获取源代码进行篡改,对 APK安装文件的安全构成了很大的威胁,导致应用开发者的应用APK安装文件被黑客破解 利用,伪造出新的含病毒的AH(包,影响了用户使用移动终端的安全性。综上所述,当前需要一种android系统中APK安装文件的控制技术方案来解决上 述问题。

发明内容
本发明所要解决的技术问题是提供一种基于android平台应用安装控制方法及 系统,解决了保护android系统中APK安装文件不被篡改和破解的问题。为了解决上述问题,本发明提供了一种基于android平台应用安装控制方法,包 括对已生成后的APK安装文件进行加密操作;将加密后的APK安装文件的应用程序进行发布;获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装在系统 中。进一步地,上述方法还可包括,所述对已生成后的AH(安装文件进行加密操作的 步骤,包括提取已生成后的APK安装文件中配置文件和字节码文件;对提取的该APK安装文件中配置文件和字节码文件进行加密;将加密后的配置文件和字节码文件,与该APK安装文件中其他文件通过加壳的方 式进行打包,生成一加密后的APK安装文件的应用程序。进一步地,上述方法还可包括,所述将该加密后的APK安装文件的应用程序进行 解密操作并安装在系统中的步骤,包括解析所述加密后的AH(安装文件的应用程序得到其加壳方式,根据加壳方式进行 相应的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的解密操作,将得到的AH(安装文件中各个文件存储在存储器的不同位置,将存储在存储 器不同位置的各个文件,通过存储器地址链接直接安装在系统中。进一步地,上述方法还可包括,所述将加密后的AH(安装文件的应用程序进行发 布的步骤,包括所述生成一加密后的AH(安装文件的应用程序后,根据该应用程序的加壳方式, 以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密程序,将加密后 的APK安装文件的应用程序和解密程序进行打包并发布。进一步地,上述方法还可包括,所述对提取的该AH(安装文件中配置文件和字节 码文件进行加密的方式包括插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加 密方式;所述加壳方式包括保护型壳、压缩型壳或加密型壳的方式。本发明还提供了一种基于android平台应用安装控制系统,包括加密单元,用于对已生成后的APK安装文件进行加密操作;发布单元,用于将加密后的APK安装文件的应用程序进行发布;及解密安装单元,用于获取该加密后的AH(安装文件的应用程序后,对其进行解密 操作并安装在系统中。进一步地,上述系统还可包括,所述加密单元包括APK提取文件模块和APK加密模 块,其中,所述APK提取文件模块,用于提取APK安装文件中配置文件和字节码文件;所述APK加密模块,用于对提取的该配置文件和字节码文件进行加密后,与该APK 安装文件中其他文件通过加壳的方式进行打包,生成一加密后的APK安装文件的应用程序。进一步地,上述系统还可包括,所述APK加密模块,还用于生成一加密后的APK安 装文件的应用程序后,根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密 方式,生成对应于该应用程序的解密程序,将加密后的APK安装文件的应用程序和解密程 序进行打包。进一步地,上述系统还可包括,所述解密安装单元,还用于解析加密后的APK安装 文件的应用程序得到其加壳方式,根据加壳方式进行相应的解壳操作,得到加密后的配置 文件、字节码文件和APK安装文件中其他文件;解析加密后的配置文件和字节码文件得到 其加密方式,根据其加密方式进行相应的解密操作,将得到的AH(安装文件中各个文件存 储在存储器的不同位置,将存储在存储器不同位置的各个文件,通过存储器地址链接直接 安装在系统中。进一步地,上述系统还可包括,所述APK加密模块对提取的该APK安装文件中配置 文件和字节码文件进行加密的方式包括插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC 或自定义加密方式;所述AH(加密模块的加壳方式包括保护型壳、压缩型壳或加密型壳的方式。与现有技术相比,应用本发明,通过内部加密和外部加密对APK安装文件进行双 重加密,同时直接使用相应解密安装对其进行安装,这样用户得不到完整的AH(安装文件 包,避免了 AH(安装文件被篡改的危险,保障了用户使用移动终端的安全性。


图1是本发明的一种基于android平台应用安装控制方法的流程图;图2是本发明方法中对APK安装文件进行加密的流程示意图;图3是本发明的加密后形成的AH(安装文件的应用程序的解密和安装的流程示意 图;图4是本发明的基于android平台应用安装控制系统的结构示意图。
具体实施例方式下面结合附图和具体实施方式
对本发明作进一步说明。本发明的主要构思在于应用程序开发出来以后,开发者在发布到Appstore应用 商城前,先对其进行加密,然后再发布。而用户在Appstore下载该应用后,必须要事先另外 获得开发者的解密软件才能将其解密安装,而且在解密后在内存中的文件立即安装,不在 中间过程生成原AH(安装文件(不限于需单独获取解密软件这种方式,也可以为解密软件 与已加密软件合成一个软件,该软件能实现将加密软件进行解密安装的功能)。在黑客得不到原APK安装文件的前提下,传统的破解方法将不能把加密后的APK 安装文件反编译,同时也不能被黑客破解利用,伪造出新的含病毒AH(包。用户只要获取 解密软件,即能对其进行安装,不会影响用户的安装使用,也能保证用户使用移动终端的安 全。其中,在应用者开发Android平台的应用时,每个要安装到Android平台的应用都 要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制代码、资源、配 置文件等。APK安装文件其实是zip格式,但后缀名被修改为apk,在Android系统安装时, AH(程序会被存放在系统默认的APP目录中。应用发布时发布一个.apk的文件,主要包括 以下几部分内容AndroidManifest. xml 该文件是每个APK应用都必须定义和包含的,其中描述了 APK应用的名字、版本、权限、引用的库文件等信息。META-INF目录存放的是签名信息,用来保证apk包的完整性和系统的安全; META-INF签名的作用在于检测APK安装文件是否被别人修改了。因为当应用开发者的APK 包被篡改后重新生成签名,新的签名和应用开发者原来的签名是不一样的,但签名这种机 制并不能禁止APK被别人修改。res目录存放资源文件,其中包括图片,字符串等。classes, dex文件java源码编译后生成的java字节码文件。resources, arse 编译后的二进制资源文件。在现有AH(安装文件的破解方案中,主要是对APK安装文件中核心文件 AndroidManifest. xml和classes, dex文件进行反编译操作,来获取到源代码,本发明通过 对上述两个关键文件进行加密处理,同时进行外部加壳方式进行再次加密,使AH(安装文 件难以被破解。图1是本发明的一种基于android平台应用安装控制方法的流程图,包括以下步 骤
步骤10、对已生成后的APK安装文件进行加密操作;步骤20、将加密后的APK安装文件的应用程序进行发布;步骤30、获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装 在系统中。具体地,图2描述了本发明方法中对AH(安装文件进行加密的流程,包括以下步 骤步骤210、生成APK安装文件,提取该APK安装文件中配置文件和字节码文件;APK安装文件中配置文件可以是AndroidManifest. xml文件,APK安装文件中字节 码文件可以是classes, dex文件。首先生成android平台通用的APK安装文件,将该APK安装文件进行解压,提取得 到该 APK 安装文件中 AndroidManifest. xml 和 classes, dex 文件。步骤220、对提取的该APK安装文件中配置文件和字节码文件进行加密;对提取得到的AndroidManifest. xml和classes, dex文件分别进行加密。其中提取的该AH(安装文件中配置文件和字节码文件进行加密的方式可以如插 入注册码鉴权、加壳保护、DES、3DES或3DES+MAC的方式,当然也可采用其它加密方式或自 定义加密方式等,本发明对此不作限定。步骤230、将加密后的配置文件和字节码文件,与该APK安装文件中其他文件通过 加壳的方式进行打包,生成一加密后的APK安装文件的应用程序。加壳后的生成的加密后的AH(安装文件的应用程序,通过双重的加密(内部加密 和外部加密),使该加密后的APK安装文件的应用程序不能被直接解压浏览文件中的内容。其中所述加壳方式可以包括保护型壳、压缩型壳或加密型壳等方式,本发明对此 不作限定。进一步地,所述生成一加密后的AH(安装文件的应用程序后,还可根据该应用程 序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密 程序,将加密后的APK安装文件的应用程序和解密程序进行打包并发布。用户只要从Appstore上获取到开发者的加密AH(安装文件,同时获取到开发者的 解密安装软件,便能对加密APK安装文件进行解密和安装。即使黑客获取到加密后的APK 安装文件和解密安装软件,也不能对其进行防编译和恶意利用,极大的提高了应用软件的 保密性和安全性。同样的,对于采用上述过程加密后形成的APK安装文件的应用程序的解密和安装 过程(该解密过程可以由硬件完成,也可以使用软件完成),如图3所示,包括步骤310、解析加密后的APK安装文件的应用程序得到其加壳方式,根据加壳方式 进行相应的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;解析AH(安装文件加密包得到其加壳方式,根据加壳方式进行相应的解壳操作, 得到加密后的AndroidManifest. xml文件、classes, dex文件和APK安装文件中其他文件, 即进行外部解密。步骤320、解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式 进行相应的解密操作,将得到的AH(安装文件中各个文件存储在存储器的不同位置,将存 储在存储器不同位置的各个文件通过存储器地址链接直接安装在系统中。
解壳后,对加密的AndroidManifest. xml和classes, dex文件进行相应类型的解 密操作;直接将AH(安装文件中各个文件存储在存储器的不同位置,并不生成AH(安装文件 包,通过存储器地址链接,将AH(安装文件中各个文件直接安装在系统中。通过直接将AH(安装文件中各个文件存储在存储器的不同位置,而不在中间过程 生成原APK安装文件包,这样用户得不到完整的APK安装文件包,就不能进行破解和反编 译,而通过存储器地址链接,直接将AH(安装文件中各个文件安装在系统中,这样就降低了 APK安装文件被破解和反编译的风险。用户在应用程序商城下载该加密的APK应用后,该加密的APK应用不能被其他开 发者进行传统的破解,也不能被用户直接安装。需要获取对应的解密软件(不限于需单独 获取解密软件这种方式,也可以为解密软件与已加密软件合成一个软件,该软件能实现将 加密软件进行解密安装的功能)。如图4所示,基于android平台应用安装控制系统40,可以包括加密单元401、发 布单元402和解密安装单元403,其中,加密单元401,用于对已生成后的AH(安装文件进行加密操作;发布单元402,用于将加密后的APK安装文件的应用程序进行发布;及解密安装单元403,用于获取该加密后的APK安装文件的应用程序后,对其进行解 密操作并安装在系统中。其中,发布单元402将生成的AH(安装文件加密包发布到应用程序商城(如 coolmart, AppStore等)上,供用户下载。其中,所述加密单元401包括APK提取文件模块4011和APK加密模块4012,其中,所述APK提取文件模块4011,用于提取APK安装文件中配置文件和字节码文件;所述AH(加密模块4012,用于对提取的该配置文件和字节码文件进行加密后,与 该APK安装文件中其他文件通过加壳的方式进行打包,生成一加密后的APK安装文件的应 用程序进一步地,APK加密模块4012,还可用于生成一加密后的APK安装文件的应用程序 后,根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该 应用程序的解密程序,将加密后的APK安装文件的应用程序和解密程序进行打包。发布单元可将打包后的程序进行发布,用户只要从Appstore上获取到开发者的 加密APK安装文件,同时获取到开发者的解密安装软件,便能对加密APK安装文件进行解密 和安装。即使黑客获取到加密后的APK安装文件和解密安装软件,也不能对其进行防编译 和恶意利用,极大的提高了应用软件的保密性和安全性。所述解密安装单元403,还用于解析APK安装文件加密包得到其加壳方式,根据加 壳方式进行相应的解壳操作,得到加密后的配置文件、字节码文件和AH(安装文件中其他 文件;解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的 解密操作,将得到的AH(安装文件中各个文件存储在存储器的不同位置,将存储在存储器 不同位置的各个文件通过存储器地址链接直接安装在系统中。所述AH(加密模块对提取的该AH(安装文件中配置文件和字节码文件进行加密的 方式包括插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加密方式。所述AH(加密模块的加壳方式包括保护型壳、压缩型壳或加密型壳的方式。
所述AI3K提取文件模块提取的AI3K安装文件中所述配置文件是AndroidManifest. xml文件,所述AH(提取文件模块提取的AH(安装文件中所述字节码文件是classes, dex文 件。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖 在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种基于android平台应用安装控制方法,其特征在于,包括 对已生成后的APK安装文件进行加密操作;将加密后的APK安装文件的应用程序进行发布;获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装在系统中。
2.如权利要求1所述的方法,其特征在于,所述对已生成后的APK安装文件进行加密操作的步骤,包括 提取已生成后的APK安装文件中配置文件和字节码文件; 对提取的该APK安装文件中配置文件和字节码文件进行加密; 将加密后的配置文件和字节码文件,与该APK安装文件中其他文件通过加壳的方式进 行打包,生成一加密后的APK安装文件的应用程序。
3.如权利要求2所述的方法,其特征在于,所述将该加密后的APK安装文件的应用程序进行解密操作并安装在系统中的步骤,包括解析所述加密后的APK安装文件的应用程序得到其加壳方式,根据加壳方式进行相应 的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的解 密操作,将得到的AH(安装文件中各个文件存储在存储器的不同位置,将存储在存储器不 同位置的各个文件,通过存储器地址链接直接安装在系统中。
4.如权利要求2所述的方法,其特征在于,所述将加密后的APK安装文件的应用程序进行发布的步骤,包括 所述生成一加密后的AH(安装文件的应用程序后,根据该应用程序的加壳方式,以及 其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密程序,将加密后的APK 安装文件的应用程序和解密程序进行打包并发布。
5.如权利要求1至4任一所述的方法,其特征在于,所述对提取的该APK安装文件中配置文件和字节码文件进行加密的方式包括插入注 册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加密方式; 所述加壳方式包括保护型壳、压缩型壳或加密型壳的方式。
6.一种基于android平台应用安装控制系统,其特征在于,包括 加密单元,用于对已生成后的APK安装文件进行加密操作; 发布单元,用于将加密后的APK安装文件的应用程序进行发布;及解密安装单元,用于获取该加密后的AH(安装文件的应用程序后,对其进行解密操作 并安装在系统中。
7.如权利要求6所述的系统,其特征在于,所述加密单元包括APK提取文件模块和APK加密模块,其中, 所述APK提取文件模块,用于提取APK安装文件中配置文件和字节码文件; 所述AH(加密模块,用于对提取的该配置文件和字节码文件进行加密后,与该AH(安装 文件中其他文件通过加壳的方式进行打包,生成一加密后的APK安装文件的应用程序。
8.如权利要求7所述的系统,其特征在于,所述APK加密模块,还用于生成一加密后的APK安装文件的应用程序后,根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密 程序,将加密后的APK安装文件的应用程序和解密程序进行打包。
9.如权利要求7所述的系统,其特征在于,所述解密安装单元,还用于解析加密后的AH(安装文件的应用程序得到其加壳方式, 根据加壳方式进行相应的解壳操作,得到加密后的配置文件、字节码文件和AH(安装文件 中其他文件;解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行 相应的解密操作,将得到的AH(安装文件中各个文件存储在存储器的不同位置,将存储在 存储器不同位置的各个文件,通过存储器地址链接直接安装在系统中。
10.如权利要求7所述的系统,其特征在于,所述AH(加密模块对提取的该AH(安装文件中配置文件和字节码文件进行加密的方式 包括插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加密方式;所述APK加密模块的加壳方式包括保护型壳、压缩型壳或加密型壳的方式。
全文摘要
本发明公开了一种基于android平台应用安装控制方法及系统,包括对已生成后的APK安装文件进行加密操作;将加密后的APK安装文件的应用程序进行发布;获取该加密后的APK安装文件的应用程序进行解密操作并安装在系统中。应用本发明,通过内部加密和外部加密对APK安装文件进行双重加密,同时直接使用相应解密安装对其进行安装,这样用户得不到完整的APK安装文件包,避免了APK安装文件被篡改的危险,保障了用户使用移动终端的安全性。
文档编号G06F9/445GK102087605SQ20111003188
公开日2011年6月8日 申请日期2011年1月28日 优先权日2011年1月28日
发明者冯玉慧, 叶必清, 汪智勇 申请人:宇龙计算机通信科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1