防止Apk被非授权手机安装的加密、解密方法及装置制造方法及图纸

技术编号:8537564 阅读:1275 留言:0更新日期:2013-04-04 22:48
本发明专利技术涉及一种防止Apk被非授权手机安装的加密、解密方法及装置,其中加密方法包括以下步骤:解压Apk文件,获取其中的xml文件;通过随机算法生成密钥k1,并采用密钥k1对xml文件进行加密,将除去xml文件后的Apk文件保存为opks文件;采用约定的密钥k2对Android客户端提供的客户端标识号与密钥k1进行加密,得到密文sf1。这样使得客户端即使将下载到的Apk文件转发至其他用户安装,也会因为标识号不同而无法成功安装,同时Apk开发者只需上传一个普通的Apk文件即能达到保护的目的,无需繁琐的接入授权方案,大大节省了开发成本。

【技术实现步骤摘要】

本专利技术涉及通信
,更具体地说,涉及一种防止Apk被非授权手机安装的加密、解密方法及装置
技术介绍
随着科技日益发展,智能手机得到越来越普遍的应用。现有的Android手机中,一般采用Android安装包(AndroidPackage, APK)来实现程序的安装,APK是类似SymbianSis或Sisx的文件格式,通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。 目前Android手机中,防止Apk被非授权设备使用的方法主要有两种1、不直接提供Apk文件的下载地址,在用户成功授权后再给提供给用户真实的下载地址;此方案的缺点是,用户获取授权并下载到Apk文件后,可以将此Apk文件传播给其他非授权用户;2、Apk供所有用户下载,但在使用Apk中的功能之前,需要首先通过授权;此方案的缺点是,开发者接入授权方案的过程非常复杂,对于中小开发者来说,要消耗很大的精力来实现。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种防止Apk被非授权手机安装的加密、解密方法及装置。本专利技术解决其技术问题所采用的技术方案是构造一种防止Apk被非授权手机安装的加密方法,其中,包括以下步骤Aj^SApk 文件,获取其中的 AndroidManifest. xml 文件;B、通过随机算法生成密钥kl,并采用所述密钥kl对所述AndroidManifest. xml文件进行加密,将除去所述AndroidManifest. xml文件后的Apk文件保存为opks文件;C、采用约定的密钥k2对Android客户端提供的客户端标识号与所述密钥kl进行加密,得到密文sfl。本专利技术所述的加密方法,其中,所述步骤C之前包括步骤CO、获取Android客户端上传的客户端标识号及请求Apk地址的请求信息;Cl、验证请求的Android客户端是否能通过授权,在通过授权后,执行步骤C,否则拒绝请求;在所述步骤C之后还包括步骤D、向所述Android客户端返回加密后的所述AndroidManifest. xml文件、所述opks文件、以及所述密文sfl。本专利技术所述的加密方法,其中,所述步骤C具体为将Android客户端提供的客户端标识号与所述密钥kl相加生成新的字符串,并采用约定的密钥k2对所述字符串进行加密,得到密文sfl。本专利技术还提供了一种防止Apk被非授权手机安装的解密方法,其中,包括以下步骤E、获取系统返回的加密后的AndroidManifest. xml文件、opks文件、以及密文sfl ;F、将所述加密后的AndroidManifest. xml文件、opks文件、以及密文sfl合并后产生一个后缀名为opk的文件,并发送给Android安装服务程序;G、所述Android安装服务程序获取所述后缀名为opk的文件路径,读取安装文件;H、所述Android安装服务程序判断所读取到的安装文件是否为opk文件;1、在所读取到的安装文件为opk文件时,根据加密方法反向对opk文件进行解析,得到可用于安装的临时Apk文件。 本专利技术所述的解密方法,其中,所述步骤I具体包括11、使用约定的密钥k2解密所述密文sfl,得到所述密文sfl中的客户端标识号及所述AndroidManifest. xml文件的解密密钥kl ;12、判断得到的客户端标识号是否与本机标识号匹配;13、如果是,则利用所述密钥kl解密所述AndroidManifest. xml文件,并与opks文件组合为临时的Apk文件。本专利技术还提供了一种防止Apk被非授权手机安装的加密装置,其中,包括解压模块,用于解压Apk文件,获取其中的AndroidManifest. xml文件;第一加密模块,用于通过随机算法生成密钥kl,并采用所述密钥kl对所述AndroidManifest. xml文件进行加密,将除去所述AndroidManifest. xml文件后的Apk文件保存为opks文件;第二加密模块,用于采用约定的密钥k2对Android客户端提供的客户端标识号与所述密钥kl进行加密,得到密文sfl。本专利技术所述的加密装置,其中,所述第二加密模块输入端还连接有请求信息获取模块,用于获取Android客户端上传的客户端标识号及请求Apk地址的请求信息;验证模块,用于验证请求的Android客户端是否能通过授权,在通过授权后,启动所述第二加密模块,否则拒绝请求;在所述第二加密模块输出端连接有返回模块,用于向所述Android客户端返回加密后的所述AndroidManifest. xml文件、所述opks文件、以及所述密文sfl。本专利技术所述的加密装置,其中,所述第二加密模块包括字符串产生单元,用于将Android客户端提供的客户端标识号与所述密钥kl相加生成新的字符串;加密单元,用于采用约定的密钥k2对所述字符串进行加密,得到密文sfl。本专利技术还提供了一种防止Apk被非授权手机安装的解密装置,其中,包括加密文件获取模块,用于获取系统返回的加密后的AndroidManifest. xml文件、opks文件、以及密文sfl ;合并模块,用于将所述加密后的AndroidManifest. xml文件、opks文件、以及密文sfl合并后产生一个后缀名为opk的文件;发送模块,用于将后缀名为opk的文件发送给安装模块;所述安装模块,用于获取所述后缀名为opk的文件路径,读取安装文件,并判断所读取到的安装文件是否为opk文件,在所读取到的安装文件为opk文件时,根据加密方法反向对opk文件进行解析,得到可用于安装的临时Apk文件。本专利技术所述的解密装置,其中,所述安装模块包括第一解密单元,用于使用约定的密钥k2解密所述密文sfl,得到所述密文sfl中的客户端标识号及所述AndroidManifest. xml文件的解密密钥kl ;判断单元,用于判断得到的客户端标识号是否与本机标识号匹配;第二解密单元,用于在得到的客户端标识号与本机标识号匹配时,利用所述密钥kl解密所述AndroidManifest. xml文件,并与opks文件组合为临时的Apk文件。本专利技术的有益效果在于通过采用密钥kl对Apk部分文件进行加密,并对Android客户端提供的客户端标识号与及密钥kl进行进一步加密,Android客户端在安装Apk文件时,先解析得到客户端标识号及密钥kl,等确定解析到的客户端标识号与本机标识号相同时,才利用密钥kl解密xml文件,并将多个文件合并得到可安装的临时Apk文件;这样可使得客户端即使将下载到的Apk文件转发至其他用户安装,也会因为标识号不同而无法成功安装,同时Apk开发者只需上传一个普通的Apk文件即能达到保护的目的,无需繁琐的接入授权方案,大大节省了开发成本。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中 图1是本专利技术较佳实施例的防止Apk被非授权手机安装的加密方法流程;图2是本专利技术较佳实施例的防止Apk被非授权手机安装的解密方法流程;图3是图2中解密方法流程图的具体解析步骤流程;图4是本专利技术较佳实施例的防止Apk被非授权手机安装的加密装置原理框图一;图5是本专利技术较佳实施例的防止Apk被非授权手机安装的加密装置原理框图二 ;图本文档来自技高网...

【技术保护点】
一种防止Apk被非授权手机安装的加密方法,其特征在于,包括以下步骤:A、解压Apk文件,获取其中的AndroidManifest.xml文件;B、通过随机算法生成密钥k1,并采用所述密钥k1对所述AndroidManifest.xml文件进行加密,将除去所述AndroidManifest.xml文件后的Apk文件保存为opks文件;C、采用约定的密钥k2对Android客户端提供的客户端标识号与所述密钥k1进行加密,得到密文sf1。

【技术特征摘要】
1.一种防止Apk被非授权手机安装的加密方法,其特征在于,包括以下步骤 A、解压Apk文件,获取其中的AndroidManifest.xml文件; B、通过随机算法生成密钥kl,并采用所述密钥kl对所述AndroidManifest.xml文件进行加密,将除去所述AndroidManifest. xml文件后的Apk文件保存为opks文件; C、采用约定的密钥k2对Android客户端提供的客户端标识号与所述密钥kl进行加密,得到密文sfl。2.根据权利要求1所述的加密方法,其特征在于,所述步骤C之前包括步骤 CO、获取Android客户端上传的客户端标识号及请求Apk地址的请求信息; Cl、验证请求的Android客户端是否能通过授权,在通过授权后,执行步骤C,否则拒绝请求; 在所述步骤C之后还包括步骤 D、向所述Android客户端返回加密后的所述AndroidManifest.xml文件、所述opks文件、以及所述密文sfl。3.根据权利要求1所述的加密方法,其特征在于,所述步骤C具体为 将Android客户端提供的客户端标识号与所述密钥kl相加生成新的字符串,并采用约定的密钥k2对所述字符串进行加密,得到密文sfl。4.一种防止Apk被非授权手机安装的解密方法,其特征在于,包括以下步骤 E、获取系统返回的加密后的AndroidManifest.xml文件、opks文件、以及密文sfl ; F、将所述加密后的AndroidManifest.xml文件、opks文件、以及密文sfl合并后产生一个后缀名为opk的文件,并发送给Android安装服务程序; G、所述Android安装服务程序获取所述后缀名为opk的文件路径,读取安装文件; H、所述Android安装服务程序判断所读取到的安装文件是否为opk文件;1、在所读取到的安装文件为opk文件时,根据加密方法反向对opk文件进行解析,得到可用于安装的临时Apk文件。5.根据权利要求4所述的解密方法,其特征在于,所述步骤I具体包括 11、使用约定的密钥k2解密所述密文Si!,得到所述密文Sfl中的客户端标识号及所述AndroidManifest. xml 文件的解密密钥 kl ; 12、判断得到的客户端标识号是否与本机标识号匹配; 13、如果是,则利用所述密钥kl解密所述AndroidManifest.xml文件,并与opks文件组合为临时的Apk文件。6.一种防止Apk被非授权手机安装的加密装置,其特征在于,包括 解压模块,用于解压A...

【专利技术属性】
技术研发人员:阳波魏伟
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1