一种防止应用程序被二次打包的方法及系统技术方案

技术编号:21799674 阅读:46 留言:0更新日期:2019-08-07 10:38
本发明专利技术涉及应用程序技术领域,尤其涉及一种防止应用程序被二次打包的方法及系统,其中包括:步骤S1、于应用程序启动之后,启动第一识别程序获取当前的应用程序的唯一识别码;步骤S2、将识别码与应用程序的原识别码进行比较,并判断识别码与原识别码是否一致:若是,则进行步骤S3;若否,则退出应用程序;步骤S3、启动第二识别程序获取当前的应用程序的证书签名的指纹字符串;步骤S4、将指纹字符串与应用程序的原证书签名的指纹字符串进行比较,并判断指纹字符串与原证书签名的指纹字符串是否一致;若是,则开始运行应用程序;若否,则退出应用程序。有益效果:以防止应用程序被二次打包,进而避免出现盗版应用程序及不法行为。

A Method and System for Preventing Applications from being Packed Secondly

【技术实现步骤摘要】
一种防止应用程序被二次打包的方法及系统
本专利技术涉及应用程序
,尤其涉及一种防止应用程序被二次打包的方法及系统。
技术介绍
随着移动互联网的迅猛发展,应用程序承载了越来越多企业的终端梦和用户价值,移动智能终端的普及给人们的生活带来了很多便捷和乐趣,已经融入我们生活中的方方面面。然而,应用程序自身的安全也是不可忽视的大问题,这其中就包括应用程序被二次打包。应用程序被二次打包是将正版应用程序通过工具破解后,然后植入恶意代码重新打包和签名,形成二次打包应用。无论从外观、功能和用户体验上它都跟正版应用程序一模一样,用户很难识别真伪,一旦用户安装运行后,它却可以悄悄运行着可怕的程序,它会在不知不觉中浪费用户的手机电量、流量、恶意扣费、偷窥隐私等不法行为。因此,基于应用程序被二次打包带来的危害,需要研发一种防止应用程序被二次打包的方法。
技术实现思路
针对现有技术中存在的上述问题,现提供一种防止应用程序被二次打包的方法及系统。具体技术方案如下:一种防止应用程序被二次打包的方法,其中,所述防止应用程序被二次打包的方法应用于所述应用程序安装之后,启动运行之前,所述防止应用程序被二次打包的方法具体包括以下步骤:步骤S1、于所述应用程序启动之后,启动一第一识别程序,获取当前的所述应用程序的唯一的识别码;步骤S2、将所述识别码与所述应用程序的原识别码进行比较,并判断所述识别码与所述原识别码是否一致:若是,则进行步骤S3;若否,则退出所述应用程序;所述步骤S3、启动一第二识别程序,获取当前的所述应用程序的证书签名的指纹字符串;步骤S4、将所述指纹字符串与所述应用程序的原证书签名的指纹字符串进行比较,并判断所述指纹字符串与所述原证书签名的指纹字符串是否一致;若是,则开始运行所述应用程序;若否,则退出应用程序。优选的,于所述步骤S1中,所述应用程序应用于安卓系统时,获取的当前的所述应用程序的所述识别码为安装包名称。优选的,于所述步骤S1中,于所述应用程序应用于IOS系统时,获取的当前的所述应用程序的所述识别码为ID。优选的,于所述步骤S2中,所述应用程序的源程序代码与所述第一识别程序进行隔离存储。优选的,于所述步骤S4中,所述应用程序的源程序代码与所述第二识别程序进行隔离存储。本专利技术还包括一种防止应用程序被二次打包的系统,其中,采用所述防止应用程序被二次打包的方法,所述防止应用程序被二次打包的系统包括:一第一获取单元,用以通过一第一识别程序获取当前的所述应用程序的唯一的识别码;一第一判断单元,连接所述第一获取单元,用以将所述识别码与所述应用程序的原识别码进行比较,并判断所述识别码与所述原识别码是否一致,并输出一第一判断结果;一第二获取单元,连接所述第一判断单元,用以通过一第二识别程序获取当前的所述应用程序的证书签名的指纹字符串;一第二判断单元,连接所述第二获取单元,用以将所述指纹字符串与所述应用程序的原证书签名的指纹字符串进行比较,并判断所述指纹字符串与所述原证书签名的指纹字符串是否一致,并输出一第二判断结果;所述防止应用程序被二次打包的系统根据所述第一判断结果或所述第二判断结果判断所述应用程序是否被二次打包。优选的,所述应用程序应用于安卓系统时,所述第一获取单元获取的当前的所述应用程序的所述识别码为安装包名称。优选的,于所述应用程序应用于IOS系统时,所述第一获取单元获取的当前的所述应用程序的所述识别码为ID。优选的,所述防止应用程序被二次打包的系统还包括:一第一存储单元,预先存储所述应用程序的源程序代码。优选的,所述防止应用程序被二次打包的系统还包括:一第二存储单元,连接所述第一获取单元,用以存储所述第一识别程序;一第三存储单元,连接所述第二获取单元,用以存储所述第二识别程序。本专利技术的技术方案有益效果在于:提供一种防止应用程序被二次打包的方法及系统,应用于应用程序安装之后,与启动运行之前,分别校验应用程序的识别码及证书签名的指纹字符串,以防止应用程序被二次打包,进而避免出现盗版应用程序,避免出现用户的手机电量、流量、恶意扣费、偷窥隐私等不法行为。附图说明参考所附附图,以更加充分的描述本专利技术的实施例。然而,所附附图仅用于说明和阐述,并不构成对本专利技术范围的限制。图1为本专利技术的实施例的防止应用程序被二次打包的方法的步骤图;图2为本专利技术的实施例的防止应用程序被二次打包的方法的流程图;图3为本专利技术的实施例的防止应用程序被二次打包的系统的原理框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面结合附图和具体实施例对本专利技术作进一步说明,但不作为本专利技术的限定。本专利技术包括一种防止应用程序被二次打包的方法,其中,防止应用程序被二次打包的方法应用于应用程序安装之后,启动运行之前,防止应用程序被二次打包的方法具体包括以下步骤:步骤S1、于应用程序启动之后,启动一第一识别程序,获取当前的应用程序的唯一的识别码;步骤S2、将识别码与应用程序的原识别码进行比较,并判断识别码与原识别码是否一致:若是,则进行步骤S3;若否,则退出应用程序;步骤S3、启动一第二识别程序,获取当前的应用程序的证书签名的指纹字符串;步骤S4、将指纹字符串与应用程序的原证书签名的指纹字符串进行比较,并判断指纹字符串与原证书签名的指纹字符串是否一致;若是,则开始运行应用程序;若否,则退出应用程序。通过上述防止应用程序被二次打包的方法的技术方案,如图1、2所示,该方法应用于应用程序安装之后,启动运行之前,其中,该方法适用于安卓系统时,安卓系统中的应用程序的安装包为apk文件,并且该方法也适用于IOS系统,IOS系统中的应用程序的安装包为ipa文件,他们分别具有唯一的识别途径是通过安装包名称和证书签名的指纹来做鉴定,所以在程序启动的时候可以通过获取apk(或ipa)本身的安装包名称(或ID)和签名证书的指纹,然后和正确的包名(或ID)和签名证书的指纹做对比来识别自己是否被二次打包,如果对比不一致,则为二次打包的应用程序,一旦运行程序自动退出。进一步地,通过唯一的识别码进行二次校验,以防止应用程序被二次打包,进而避免出现盗版应用程序,避免出现用户的手机电量、流量、恶意扣费、偷窥隐私等不法行为。上述技术方案中,于步骤S1中,应用程序应用于安卓系统时,获取的当前的应用程序的识别码为安装包名称。进一步地,于步骤S1中,于应用程序应用于IOS系统时,获取的当前的应用程序的识别码为ID。具体地,该方法不仅适用于安卓系统,又适用于IOS系统,应用范围广泛,值得推广,并且应用于应用程序安装之后,与启动运行之前,在还未使用应用程序之前进行校验,以防止应用程序被二次打包,进而避免出现盗版应用程序,避免出现用户的手机电量、流量、恶意扣费、偷窥隐私等不法行为。上述技术方案中,于步骤S2中,应用程序的源程序代码与第一识别程序进行隔离存储。具体地,在对比的过程中,将第一识别程序与应用程序的源程序代本文档来自技高网...

【技术保护点】
1.一种防止应用程序被二次打包的方法,其特征在于,所述防止应用程序被二次打包的方法应用于所述应用程序安装之后,启动运行之前,所述防止应用程序被二次打包的方法具体包括以下步骤:步骤S1、于所述应用程序启动之后,启动一第一识别程序,获取当前的所述应用程序的唯一的识别码;步骤S2、将所述识别码与所述应用程序的原识别码进行比较,并判断所述识别码与所述原识别码是否一致:若是,则进行步骤S3;若否,则退出所述应用程序;所述步骤S3、启动一第二识别程序,获取当前的所述应用程序的证书签名的指纹字符串;步骤S4、将所述指纹字符串与所述应用程序的原证书签名的指纹字符串进行比较,并判断所述指纹字符串与所述原证书签名的指纹字符串是否一致;若是,则开始运行所述应用程序;若否,则退出应用程序。

【技术特征摘要】
1.一种防止应用程序被二次打包的方法,其特征在于,所述防止应用程序被二次打包的方法应用于所述应用程序安装之后,启动运行之前,所述防止应用程序被二次打包的方法具体包括以下步骤:步骤S1、于所述应用程序启动之后,启动一第一识别程序,获取当前的所述应用程序的唯一的识别码;步骤S2、将所述识别码与所述应用程序的原识别码进行比较,并判断所述识别码与所述原识别码是否一致:若是,则进行步骤S3;若否,则退出所述应用程序;所述步骤S3、启动一第二识别程序,获取当前的所述应用程序的证书签名的指纹字符串;步骤S4、将所述指纹字符串与所述应用程序的原证书签名的指纹字符串进行比较,并判断所述指纹字符串与所述原证书签名的指纹字符串是否一致;若是,则开始运行所述应用程序;若否,则退出应用程序。2.根据权利要求1所述的防止应用程序被二次打包的方法,其特征在于,于所述步骤S1中,所述应用程序应用于安卓系统时,获取的当前的所述应用程序的所述识别码为安装包名称。3.根据权利要求1所述的防止应用程序被二次打包的方法,其特征在于,于所述步骤S1中,于所述应用程序应用于IOS系统时,获取的当前的所述应用程序的所述识别码为ID。4.根据权利要求1所述的防止应用程序被二次打包的方法,其特征在于,于所述步骤S2中,所述应用程序的源程序代码与所述第一识别程序进行隔离存储。5.根据权利要求1所述的防止应用程序被二次打包的方法,其特征在于,于所述步骤S4中,所述应用程序的源程序代码与所述第二识别程序进行隔离存储。6.一种防止应用程序被二次打包的系统,其特征在于,采用所述防止应用程序被二次打包的方法,所...

【专利技术属性】
技术研发人员:汪君瑞
申请(专利权)人:上海瀚银信息技术有限公司
类型:发明
国别省市:上海,31

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

1