著录项信息
专利名称 | 一种基于android平台应用安装控制方法及系统 |
申请号 | CN201110031882.4 | 申请日期 | 2011-01-28 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2011-06-08 | 公开/公告号 | CN102087605A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/445 | IPC分类号 | G;0;6;F;9;/;4;4;5;;;G;0;6;F;2;1;/;5;1查看分类表>
|
申请人 | 宇龙计算机通信科技(深圳)有限公司 | 申请人地址 | 广东省深圳市南山区高新技术产业园北区梦溪道2号酷派信息港
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 宇龙计算机通信科技(深圳)有限公司 | 当前权利人 | 宇龙计算机通信科技(深圳)有限公司 |
发明人 | 汪智勇;叶必清;冯玉慧 |
代理机构 | 北京国昊天诚知识产权代理有限公司 | 代理人 | 许志勇 |
摘要
本发明公开了一种基于android平台应用安装控制方法及系统,包括:对已生成后的APK安装文件进行加密操作;将加密后的APK安装文件的应用程序进行发布;获取该加密后的APK安装文件的应用程序进行解密操作并安装在系统中。应用本发明,通过内部加密和外部加密对APK安装文件进行双重加密,同时直接使用相应解密安装对其进行安装,这样用户得不到完整的APK安装文件包,避免了APK安装文件被篡改的危险,保障了用户使用移动终端的安全性。
1.一种基于android平台应用安装控制方法,其特征在于,包括:
对已生成后的APK安装文件进行加密操作;
将加密后的APK安装文件的应用程序进行发布;
获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装在系统中,其中,所述对已生成后的APK安装文件进行加密操作的步骤,包括:
提取已生成后的APK安装文件中的配置文件和字节码文件;
对提取的配置文件和字节码文件进行加密;
将加密后的配置文件和字节码文件,与该APK安装文件中的其他文件通过加壳的方式进行打包,生成该加密后的APK安装文件的应用程序,
其中,所述将加密后的APK安装文件的应用程序进行发布的步骤,包括:
所述生成该加密后的APK安装文件的应用程序后,根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密程序,将加密后的APK安装文件的应用程序和解密程序进行打包并发布;
其中,所述将该加密后的APK安装文件的应用程序进行解密操作并安装在系统中的步骤,包括:
解析该加密后的APK安装文件的应用程序得到其加壳方式,根据加壳方式进行相应的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;
解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的解密操作,将得到的APK安装文件中各个文件存储在存储器的不同位置,将存储在存储器不同位置的各个文件,通过存储器地址链接直接安装在系统中。
2.如权利要求1所述的方法,其特征在于,
所述对提取的该APK安装文件中配置文件和字节码文件进行加密的方式包括:插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加密方式;
所述加壳方式包括保护型壳、压缩型壳或加密型壳的方式。
3.一种基于android平台应用安装控制系统,其特征在于,包括:
加密单元,用于对已生成后的APK安装文件进行加密操作;
发布单元,用于将加密后的APK安装文件的应用程序进行发布;及
解密安装单元,用于获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装在系统中,
其中,所述加密单元包括APK提取文件模块和APK加密模块,
所述APK提取文件模块,用于提取APK安装文件中的配置文件和字节码文件;
所述APK加密模块,用于对提取的该配置文件和字节码文件进行加密后,与该APK安装文件中的其他文件通过加壳的方式进行打包,生成该加密后的APK安装文件的应用程序;
其中,所述发布单元,还用于生成该加密后的APK安装文件的应用程序后,根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密程序,将加密后的APK安装文件的应用程序和解密程序进行打包并发布;
其中,所述解密安装单元,还用于解析加密后的APK安装文件的应用程序得到其加壳方式,根据加壳方式进行相应的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的解密操作,将得到的APK安装文件中各个文件存储在存储器的不同位置,将存储在存储器不同位置的各个文件,通过存储器地址链接直接安装在系统中。
4.如权利要求3所述的系统,其特征在于,
所述APK加密模块对提取的该APK安装文件中配置文件和字节码文件进行加密的方式包括:插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加密方式;
所述APK加密模块的加壳方式包括保护型壳、压缩型壳或加密型壳的方式。
一种基于android平台应用安装控制方法及系统\n技术领域\n[0001] 本发明涉及通信领域,具体涉及一种基于android平台应用安装控制方法及系统。\n背景技术\n[0002] 随着智能移动终端的出现,随之出现了很多移动终端系统,当前的android(安卓)系统是一种广泛应用的智能移动终端系统,其中APK(Android application package)应用安装文件是一种标准android应用安装程序。\n[0003] 但是android系统的APK应用安装文件很容易就能被反编译和获取源代码,这严重地侵犯了应用开发者的权利;并且当前并没有相关技术方案对APK安装文件进行加密和保护,通用的反编译工具就能很好的对APK安装文件进行反编译,获取源代码进行篡改,对APK安装文件的安全构成了很大的威胁,导致应用开发者的应用APK安装文件被黑客破解利用,伪造出新的含病毒的APK包,影响了用户使用移动终端的安全性。\n[0004] 综上所述,当前需要一种android系统中APK安装文件的控制技术方案来解决上述问题。\n发明内容\n[0005] 本发明所要解决的技术问题是提供一种基于android平台应用安装控制方法及系统,解决了保护android系统中APK安装文件不被篡改和破解的问题。\n[0006] 为了解决上述问题,本发明提供了一种基于android平台应用安装控制方法,包括:\n[0007] 对已生成后的APK安装文件进行加密操作;\n[0008] 将加密后的APK安装文件的应用程序进行发布;\n[0009] 获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装在系统中。\n[0010] 进一步地,上述方法还可包括,所述对已生成后的APK安装文件进行加密操作的步骤,包括:\n[0011] 提取已生成后的APK安装文件中配置文件和字节码文件;\n[0012] 对提取的该APK安装文件中配置文件和字节码文件进行加密;\n[0013] 将加密后的配置文件和字节码文件,与该APK安装文件中其他文件通过加壳的方式进行打包,生成一加密后的APK安装文件的应用程序。\n[0014] 进一步地,上述方法还可包括,所述将该加密后的APK安装文件的应用程序进行解密操作并安装在系统中的步骤,包括:\n[0015] 解析所述加密后的APK安装文件的应用程序得到其加壳方式,根据加壳方式进行相应的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;\n[0016] 解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的解密操作,将得到的APK安装文件中各个文件存储在存储器的不同位置,将存储在存储器不同位置的各个文件,通过存储器地址链接直接安装在系统中。\n[0017] 进一步地,上述方法还可包括,所述将加密后的APK安装文件的应用程序进行发布的步骤,包括:\n[0018] 所述生成一加密后的APK安装文件的应用程序后,根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密程序,将加密后的APK安装文件的应用程序和解密程序进行打包并发布。\n[0019] 进一步地,上述方法还可包括,所述对提取的该APK安装文件中配置文件和字节码文件进行加密的方式包括:插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加密方式;\n[0020] 所述加壳方式包括保护型壳、压缩型壳或加密型壳的方式。\n[0021] 本发明还提供了一种基于android平台应用安装控制系统,包括:\n[0022] 加密单元,用于对已生成后的APK安装文件进行加密操作;\n[0023] 发布单元,用于将加密后的APK安装文件的应用程序进行发布;及[0024] 解密安装单元,用于获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装在系统中。\n[0025] 进一步地,上述系统还可包括,所述加密单元包括APK提取文件模块和APK加密模块,其中,\n[0026] 所述APK提取文件模块,用于提取APK安装文件中配置文件和字节码文件;\n[0027] 所述APK加密模块,用于对提取的该配置文件和字节码文件进行加密后,与该APK安装文件中其他文件通过加壳的方式进行打包,生成一加密后的APK安装文件的应用程序。\n[0028] 进一步地,上述系统还可包括,所述APK加密模块,还用于生成一加密后的APK安装文件的应用程序后,根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密程序,将加密后的APK安装文件的应用程序和解密程序进行打包。\n[0029] 进一步地,上述系统还可包括,所述解密安装单元,还用于解析加密后的APK安装文件的应用程序得到其加壳方式,根据加壳方式进行相应的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的解密操作,将得到的APK安装文件中各个文件存储在存储器的不同位置,将存储在存储器不同位置的各个文件,通过存储器地址链接直接安装在系统中。\n[0030] 进一步地,上述系统还可包括,所述APK加密模块对提取的该APK安装文件中配置文件和字节码文件进行加密的方式包括:插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加密方式;\n[0031] 所述APK加密模块的加壳方式包括保护型壳、压缩型壳或加密型壳的方式。\n[0032] 与现有技术相比,应用本发明,通过内部加密和外部加密对APK安装文件进行双重加密,同时直接使用相应解密安装对其进行安装,这样用户得不到完整的APK安装文件包,避免了APK安装文件被篡改的危险,保障了用户使用移动终端的安全性。\n附图说明\n[0033] 图1是本发明的一种基于android平台应用安装控制方法的流程图;\n[0034] 图2是本发明方法中对APK安装文件进行加密的流程示意图;\n[0035] 图3是本发明的加密后形成的APK安装文件的应用程序的解密和安装的流程示意图;\n[0036] 图4是本发明的基于android平台应用安装控制系统的结构示意图。\n具体实施方式\n[0037] 下面结合附图和具体实施方式对本发明作进一步说明。\n[0038] 本发明的主要构思在于:应用程序开发出来以后,开发者在发布到Appstore应用商城前,先对其进行加密,然后再发布。而用户在Appstore下载该应用后,必须要事先另外获得开发者的解密软件才能将其解密安装,而且在解密后在内存中的文件立即安装,不在中间过程生成原APK安装文件(不限于需单独获取解密软件这种方式,也可以为:解密软件与已加密软件合成一个软件,该软件能实现将加密软件进行解密安装的功能)。\n[0039] 在黑客得不到原APK安装文件的前提下,传统的破解方法将不能把加密后的APK安装文件反编译,同时也不能被黑客破解利用,伪造出新的含病毒APK包。用户只要获取解密软件,即能对其进行安装,不会影响用户的安装使用,也能保证用户使用移动终端的安全。\n[0040] 其中,在应用者开发Android平台的应用时,每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制代码、资源、配置文件等。APK安装文件其实是zip格式,但后缀名被修改为apk,在Android系统安装时,APK程序会被存放在系统默认的APP目录中。应用发布时发布一个.apk的文件,主要包括以下几部分内容:\n[0041] AndroidManifest.xml:该文件是每个APK应用都必须定义和包含的,其中描述了APK应用的名字、版本、权限、引用的库文件等信息。\n[0042] META-INF目录:存放的是签名信息,用来保证apk包的完整性和系统的安全;\nMETA-INF签名的作用在于检测APK安装文件是否被别人修改了。因为当应用开发者的APK包被篡改后重新生成签名,新的签名和应用开发者原来的签名是不一样的,但签名这种机制并不能禁止APK被别人修改。\n[0043] res目录:存放资源文件,其中包括图片,字符串等。\n[0044] classes.dex文件:java源码编译后生成的java字节码文件。\n[0045] resources.arsc:编译后的二进制资源文件。\n[0046] 在现有APK安装文件的破解方案中,主要是对APK安装文件中核心文件AndroidManifest.xml和classes.dex文件进行反编译操作,来获取到源代码,本发明通过对上述两个关键文件进行加密处理,同时进行外部加壳方式进行再次加密,使APK安装文件难以被破解。\n[0047] 图1是本发明的一种基于android平台应用安装控制方法的流程图,包括以下步骤:\n[0048] 步骤10、对已生成后的APK安装文件进行加密操作;\n[0049] 步骤20、将加密后的APK安装文件的应用程序进行发布;\n[0050] 步骤30、获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装在系统中。\n[0051] 具体地,图2描述了本发明方法中对APK安装文件进行加密的流程,包括以下步骤:\n[0052] 步骤210、生成APK安装文件,提取该APK安装文件中配置文件和字节码文件;\n[0053] APK安装文件中配置文件可以是AndroidManifest.xml文件,APK安装文件中字节码文件可以是classes.dex文件。\n[0054] 首先生成android平台通用的APK安装文件,将该APK安装文件进行解压,提取得到该APK安装文件中AndroidManifest.xml和classes.dex文件。\n[0055] 步骤220、对提取的该APK安装文件中配置文件和字节码文件进行加密;\n[0056] 对提取得到的AndroidManifest.xml和classes.dex文件分别进行加密。\n[0057] 其中提取的该APK安装文件中配置文件和字节码文件进行加密的方式可以如插入注册码鉴权、加壳保护、DES、3DES或3DES+MAC的方式,当然也可采用其它加密方式或自定义加密方式等,本发明对此不作限定。\n[0058] 步骤230、将加密后的配置文件和字节码文件,与该APK安装文件中其他文件通过加壳的方式进行打包,生成一加密后的APK安装文件的应用程序。\n[0059] 加壳后的生成的加密后的APK安装文件的应用程序,通过双重的加密(内部加密和外部加密),使该加密后的APK安装文件的应用程序不能被直接解压浏览文件中的内容。\n[0060] 其中所述加壳方式可以包括保护型壳、压缩型壳或加密型壳等方式,本发明对此不作限定。\n[0061] 进一步地,所述生成一加密后的APK安装文件的应用程序后,还可根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密程序,将加密后的APK安装文件的应用程序和解密程序进行打包并发布。\n[0062] 用户只要从Appstore上获取到开发者的加密APK安装文件,同时获取到开发者的解密安装软件,便能对加密APK安装文件进行解密和安装。即使黑客获取到加密后的APK安装文件和解密安装软件,也不能对其进行防编译和恶意利用,极大的提高了应用软件的保密性和安全性。\n[0063] 同样的,对于采用上述过程加密后形成的APK安装文件的应用程序的解密和安装过程(该解密过程可以由硬件完成,也可以使用软件完成),如图3所示,包括:\n[0064] 步骤310、解析加密后的APK安装文件的应用程序得到其加壳方式,根据加壳方式进行相应的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;\n[0065] 解析APK安装文件加密包得到其加壳方式,根据加壳方式进行相应的解壳操作,得到加密后的AndroidManifest.xml文件、classes.dex文件和APK安装文件中其他文件,即进行外部解密。\n[0066] 步骤320、解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的解密操作,将得到的APK安装文件中各个文件存储在存储器的不同位置,将存储在存储器不同位置的各个文件通过存储器地址链接直接安装在系统中。\n[0067] 解壳后,对加密的AndroidManifest.xml和classes.dex文件进行相应类型的解密操作;直接将APK安装文件中各个文件存储在存储器的不同位置,并不生成APK安装文件包,通过存储器地址链接,将APK安装文件中各个文件直接安装在系统中。\n[0068] 通过直接将APK安装文件中各个文件存储在存储器的不同位置,而不在中间过程生成原APK安装文件包,这样用户得不到完整的APK安装文件包,就不能进行破解和反编译,而通过存储器地址链接,直接将APK安装文件中各个文件安装在系统中,这样就降低了APK安装文件被破解和反编译的风险。\n[0069] 用户在应用程序商城下载该加密的APK应用后,该加密的APK应用不能被其他开发者进行传统的破解,也不能被用户直接安装。需要获取对应的解密软件(不限于需单独获取解密软件这种方式,也可以为:解密软件与已加密软件合成一个软件,该软件能实现将加密软件进行解密安装的功能)。\n[0070] 如图4所示,基于android平台应用安装控制系统40,可以包括:加密单元401、发布单元402和解密安装单元403,其中,\n[0071] 加密单元401,用于对已生成后的APK安装文件进行加密操作;\n[0072] 发布单元402,用于将加密后的APK安装文件的应用程序进行发布;及[0073] 解密安装单元403,用于获取该加密后的APK安装文件的应用程序后,对其进行解密操作并安装在系统中。\n[0074] 其中,发布单元402将生成的APK安装文件加密包发布到应用程序商城(如coolmart,AppStore等)上,供用户下载。\n[0075] 其中,所述加密单元401包括APK提取文件模块4011和APK加密模块4012,其中,[0076] 所述APK提取文件模块4011,用于提取APK安装文件中配置文件和字节码文件;\n[0077] 所述APK加密模块4012,用于对提取的该配置文件和字节码文件进行加密后,与该APK安装文件中其他文件通过加壳的方式进行打包,生成一加密后的APK安装文件的应用程序\n[0078] 进一步地,APK加密模块4012,还可用于生成一加密后的APK安装文件的应用程序后,根据该应用程序的加壳方式,以及其配置文件和字节码文件的加密方式,生成对应于该应用程序的解密程序,将加密后的APK安装文件的应用程序和解密程序进行打包。\n[0079] 发布单元可将打包后的程序进行发布,用户只要从Appstore上获取到开发者的加密APK安装文件,同时获取到开发者的解密安装软件,便能对加密APK安装文件进行解密和安装。即使黑客获取到加密后的APK安装文件和解密安装软件,也不能对其进行防编译和恶意利用,极大的提高了应用软件的保密性和安全性。\n[0080] 所述解密安装单元403,还用于解析APK安装文件加密包得到其加壳方式,根据加壳方式进行相应的解壳操作,得到加密后的配置文件、字节码文件和APK安装文件中其他文件;解析加密后的配置文件和字节码文件得到其加密方式,根据其加密方式进行相应的解密操作,将得到的APK安装文件中各个文件存储在存储器的不同位置,将存储在存储器不同位置的各个文件通过存储器地址链接直接安装在系统中。\n[0081] 所述APK加密模块对提取的该APK安装文件中配置文件和字节码文件进行加密的方式包括:插入注册码鉴权、加壳保护、DES、3DES、3DES+MAC或自定义加密方式。\n[0082] 所述APK加密模块的加壳方式包括保护型壳、压缩型壳或加密型壳的方式。\n[0083] 所述APK提取文件模块提取的APK安装文件中所述配置文件是AndroidManifest.xml文件,所述APK提取文件模块提取的APK安装文件中所述字节码文件是classes.dex文件。\n[0084] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
法律信息
- 2023-01-06
未缴年费专利权终止
IPC(主分类): G06F 9/445
专利号: ZL 201110031882.4
申请日: 2011.01.28
授权公告日: 2014.05.07
- 2014-05-07
- 2011-07-20
实质审查的生效
IPC(主分类): G06F 9/445
专利申请号: 201110031882.4
申请日: 2011.01.28
- 2011-06-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-10-27
|
2009-04-21
| | |
2
| |
2008-09-24
|
2008-04-30
| | |
3
| | 暂无 |
2004-07-15
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |