一种安装包的校验方法、客户端、服务器及系统的制作方法

文档序号:9564463阅读:531来源:国知局
一种安装包的校验方法、客户端、服务器及系统的制作方法
【技术领域】
[0001]本发明涉及移动通信的数据处理领域,更为具体地,涉及一种安装包的校验方法、客户端、服务器及系统。
【背景技术】
[0002]随着Android平台的流行,很多优秀的Android安装包被不法分子篡改:或植入恶意病毒;或添加广告,然后通过二次打包再次进入渠道。
[0003]针对安装包防篡改,目前市场主要使用防篡改校验方案,校验过程用Java语言实现,其中,校验流程:在NDK (Native Development Kit,原生开发工具包)层中用Java语言获取APK签名值,检验APK (Android Package,安卓安装包)签名值与预先配置的APK签名值是否匹配;如匹配,则说明APK是正版未被篡改的;如不匹配,则说明APK被篡改。
[0004]然而由于Java是解释型语言,进行校验时以中间代码的形式运行在虚拟机环境中,这使得校验逻辑容易被反编译,将校验逻辑在smali^中被还原或删除掉,这样就达不到安装包校验的目的,降低了安装包检验的可靠性。

【发明内容】

[0005]本发明的目的在于提出一种安装包的校验方法、装置及系统,可以防止安装包的校验逻辑被反编译,提高安装包检验的可靠性。
[0006]根据本发明的一个方面,提供了一种安装包的校验方法,其中,包括步骤:
[0007]在C语言环境下获取第一 APK的签名值;以及利用所述第一 APK的签名值对用来请求网络数据的请求参数进行第一加密处理,得到加密字节流;将所述加密字节流发送至服务器,以供服务器利用预先配置的第二 APK的签名值,解密所述加密字节流;其中,所述第二 APK是原始APK;接收当服务器未解密出所述请求参数时返回的用于标识所述第一 APK为被篡改的APK的信息。
[0008]根据本发明的另一个方面,提供了一种安装包的校验方法,其中,包括步骤:
[0009]接收客户端发送的加密字节流;其中,所述加密字节流是利用客户端在C语言环境下获取的第一 APK的签名值对用于请求网络数据的请求参数进行加密处理得到的;利用预先配置的第二 APK的签名值,解密所述加密字节流;其中,所述第二 APK是原始APK ;若未解密出所述请求参数,则向客户端返回用于标识所述第一 APK为被篡改的APK的信息。
[0010]根据本发明的另一个方面,提供了一种安装包的校验方法,其中,包括步骤:
[0011]客户端在C语言环境下获取第一 APK的签名值;客户端利用所述第一 APK的签名值对用于请求网络数据的请求参数进行第一加密处理,得到加密字节流;客户端将所述加密字节流发送至服务器;所述服务器利用预先配置的第二 APK的签名值,解密所述加密字节流;其中,所述第二APK是原始APK ;若未解密出所述请求参数,则向客户端返回用于标识所述第一 APK为被篡改的APK的信息。
[0012]根据本发明的另一个方面,提供了一种客户端,其中,包括:
[0013]第一获取单元,用于在C语言环境下获取第一 APK的签名值;
[0014]加密单元,用于利用所述第一 APK的签名值对用来请求网络数据的请求参数进行第一加密处理,得到加密字节流;
[0015]第一发送单元,用于将所述加密字节流发送至服务器,以供服务器利用预先配置的第二 APK的签名值,解密所述加密字节流;其中,所述第二 APK是原始APK ;
[0016]第一接收单元,用于接收当服务器未解密出所述请求参数时返回的用于标识所述第一 APK为被篡改的APK的信息。
[0017]根据本发明的另一个方面,提供了一种服务器,其中,包括:
[0018]第二接收单元,用于接收客户端发送的加密字节流;其中,所述加密字节流是利用客户端在C语言环境下获取的第一 APK的签名值对用于请求网络数据的请求参数进行加密处理得到的;
[0019]解密单元,用于利用预先配置的第二 APK的签名值,解密所述加密字节流;其中,所述第二 APK是原始APK ;
[0020]第二发送单元,用于若未解密出所述请求参数,则向客户端返回用于标识所述第一APK为被篡改的APK的信息。
[0021]根据本发明的另一个方面,提供了一种安装包的校验系统,其中,包括:上述客户端和上述服务器。
[0022]利用本发明,客户端在C语言环境中获取APK的签名值以及利用该签名值加密APK的网络数据请求并将加密后的字节流发送至服务器校验,由于上述过程逻辑在C语言中进行编译后产生‘*.so文件’,通过反编译工具将很难破解‘*.so文件’里的逻辑,在破解技术难度上比使用Java语言实现的方案大大增加;在服务器侧,利用预先配置的原始APK的签名值去解密上述加密的字节流,若能成功解密出上述网络数据请求,则说明上述客户端上安装的是原始的APK,若不能解密出上述网络数据请求,则说明上述客户端上安装的是被篡改的APK,从而可以禁止安装有被篡改的APK的客户端的相关功能。因此,通过上述处理,可以防止APK的校验逻辑被反编译,提高安装包检验的可靠性。
[0023]为了实现上述目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
【附图说明】
[0024]根据下述参照附图进行的详细描述,本发明的上述和其他目的、特征和优点将变得更加显而易见。在附图中:
[0025]图1示出了本发明提出的一种安装包的校验方法的一个流程图;
[0026]图2示出了本发明提出的一种安装包的校验方法的另一个流程图;
[0027]图3示出了本发明提出的一种安装包的校验方法的另一个流程图;
[0028]图4示出了本发明提出的一种安装包的校验方法的另一个流程图;
[0029]图5示出了本发明提出的一种客户端的一个结构示意图;
[0030]图6示出了本发明提出的一种客户端的另一个结构示意图;
[0031]图7示出了本发明提出的一种客户端的另一个结构示意图;
[0032]图8示出了本发明提出的一种服务器的结构示意图;
[0033]图9示出了本发明提出的一种安装包的校验系统的结构示意图。
[0034]在所有附图中相同的标号指示相似或相应的特征或功能。
【具体实施方式】
[0035]下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求的至少一个元素。
[0036]下面将参照附图
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1