一种防止IPA安装包重签名的方法及其终端技术

技术编号:24498093 阅读:36 留言:0更新日期:2020-06-13 03:51
本发明专利技术提供了一种防止IPA安装包重签名的方法,所述方法为:通过字节流的方式打开工程打包时用到的描述文件,并根据获取得到的字节流信息,转换为对应的字符串,根据一设定的规则截取字符串,再通过与工程中实时获取到的字符串做对比,如果对比相同,则认为IPA安装包未被重签名,否则签名已经被篡改;本发明专利技术有效防止用户对IPA安装包进行重签名,保护了用户的利益。

A method to prevent the re signature of IPA installation package and its terminal

【技术实现步骤摘要】
一种防止IPA安装包重签名的方法及其终端
本专利技术涉及安全防护
,特别是一种防止IPA安装包重签名的方法及其终端。
技术介绍
IPA是iPhone平台下可执行文件iPhoneApplication的缩写,其本质是一个包含了payload文件夹的zip压缩文件。用户可以通过数字媒体播放应用程序iTunes或其他的应用程序通过IPA安装包直接将对应的应用安装到用户的手机中。在工程代码生成IPA安装包之后,苹果允许将该IPA安装包进行重签名操作,即通过codesign命令或者sigh等工具进行重新签名。这就造成了一个风险:破解方可以通过一定的操作,将服务软件AppStore上已经发布的app进行重签名,进而导致代码被篡改,或者在app中加入对应的漏洞并发布到越狱的平台上,导致用户利益受损。
技术实现思路
为克服上述问题,本专利技术的目的是提供一种防止IPA安装包重签名的方法,增加了安装包的安全性。本专利技术采用以下方案实现:一种防止IPA安装包重签名的方法,所述方法为:通过字节流的方式打开工程打包时用到的描述文件,并根据获取得到的字节流信息,转换为对应的字符串,根据一设定的规则截取字符串,再通过与工程中实时获取到的字符串做对比,如果对比相同,则认为IPA安装包未被重签名,否则签名已经被篡改。进一步的,所述方法进一步包括如下步骤:步骤S1:获取打包工程时所需使用到的描述文件;步骤S2:以字节流的方式打包对应的描述文件,获取到字节流的信息,并将节流的信息转换为字符串M1,根据一设定的规则截取其中部分字符串得到字符串T1记录工程中;步骤S3:在工程代码中,在app运行的过程中,获取到当前应用所使用的描述文件,获取到描述文件对应的字节流信息并将其转换为对应的字符串M2,按照与步骤S2中相同的规则,截取其中部分字符串得到字符串T2;步骤S4:比较字符串T1与字符串T2是否相同,相同则断定IPA安装包未被重签名,否则即已经被重签名。进一步的,所述步骤S1进一步具体为:通过工程的info.plist文件,查询到当前工程所使用的唯一标示bundleId、描述文件名称信息,通过工程的唯一标示bundleId与描述文件名称信息,在保存描述文件的路径下寻找到对应的描述文件;或者先将工程打包一次,进入到打包后生成的IPA安装包中,直接获取IPA安装包中的描述文件。进一步的,所述S2进一步具体为:在工程中,以字节流的方式打包对应的描述文件,读取导入的描述文件的字节流,并将字节流直接通过字符串M1的形式保存;所述设定的规则为:截取字符串M1的前128位以及后64位拼接成新的字符串,或者截取字符串M1的md5码的前16位以及M1字符串的后32位拼接成新的字符串,或者截取字符串M1的前32位以及字符串M1的Base64加密后的128位拼接成新的字符串,三种中的任意一种。进一步的,所述S3进一步具体为:在app运行过程中,获取到当前应用程序下的embedded.mobileprovision描述文件;获取到描述文件对应的字节流信息并将其转换为对应的字符串M2,通过描述文件获取到对应描述文件的字节流,并将字节流直接通过字符串的形式保存,截取字符串M2的前128位以及后64位拼接成新的字符串T2并作为原始串进行保存。本专利技术还提供了一种防止IPA安装包重签名的系统,所述系统包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下内容:通过字节流的方式打开工程打包时用到的描述文件,并根据获取得到的字节流信息,转换为对应的字符串,根据一设定的规则截取字符串,再通过与工程中实时获取到的字符串做对比,如果对比相同,则认为IPA安装包未被重签名,否则签名已经被篡改。进一步的,所述处理器执行所述计算机程序时进一步实现以下步骤:步骤S11:获取打包工程时所需使用到的描述文件;步骤S12:以字节流的方式打包对应的描述文件,获取到字节流的信息,并将节流的信息转换为字符串M1,根据一设定的规则截取其中部分字符串得到字符串T1记录工程中;步骤S13:在工程代码中,在app运行的过程中,获取到当前应用所使用的描述文件,获取到描述文件对应的字节流信息并将其转换为对应的字符串M2,按照与步骤S12中相同的规则,截取其中部分字符串得到字符串T2;步骤S14:比较字符串T1与字符串T2是否相同,相同则断定IPA安装包未被重签名,否则即已经被重签名。进一步的,所述步骤S11进一步具体为:通过工程的info.plist文件,查询到当前工程所使用的唯一标示bundleId、描述文件名称信息,通过工程的唯一标示bundleId与描述文件名称信息,在保存描述文件的路径下寻找到对应的描述文件;或者先将工程打包一次,进入到打包后生成的IPA安装包中,直接获取IPA安装包中的描述文件。进一步的,所述S12进一步具体为:在工程中,以字节流的方式打包对应的描述文件,读取导入的描述文件的字节流,并将字节流直接通过字符串M1的形式保存;所述设定的规则为:截取字符串M1的前128位以及后64位拼接成新的字符串,或者截取字符串M1的md5码的前16位以及M1字符串的后32位拼接成新的字符串,或者截取字符串M1的前32位以及字符串M1的Base64加密后的128位拼接成新的字符串,三种中的任意一种。进一步的,所述S13进一步具体为:在app运行过程中,获取到当前应用程序下的embedded.mobileprovision描述文件;获取到描述文件对应的字节流信息并将其转换为对应的字符串M2,通过描述文件获取到对应描述文件的字节流,并将字节流直接通过字符串的形式保存,截取字符串M2的前128位以及后64位拼接成新的字符串T2并作为原始串进行保存。本专利技术的有益效果在于:本专利技术通过字节流的方式打开打包时用到的描述文件,并根据获取得到的字节流信息,转换为对应的字符串,根据一定的规律截取字符串,在通过与工程中实时获取到的字符串做对比,实现IPA安装包是否重签名的判断。上述方式在每次应用运行的时候,都会对签名做一次校验,可实现有效防止用户对IPA安装包进行重签名,解决了破解方将IPA进行重签名之后,对应用进行篡改,导致用户利益受损的问题。附图说明图1为本专利技术实施例的主要步骤示意图。图2为本专利技术实施例的方法的流程图。图3是本专利技术系统的结构示意图。具体实施方式下面结合附图对本专利技术做进一步说明。请参阅图1所示,本专利技术的一种防止IPA安装包重签名的方法,所述方法为:通过字节流的方式打开工程打包时用到的描述文件,并根据获取得到的字节流信息,转换为对应的字符串,根据一设定的规则截取字符串,再通过与工程中实时获取到的字符串做对比,如果对比相同,则认为IPA安装包未被重签名,否则签名已经被篡改。上述方式在每次应用运行的时候,都会对签名做一次校验,可实现有效防止用户对IPA安装包进行重签名,解决本文档来自技高网...

【技术保护点】
1.一种防止IPA安装包重签名的方法,其特征在于:所述方法为:通过字节流的方式打开工程打包时用到的描述文件,并根据获取得到的字节流信息,转换为对应的字符串,根据一设定的规则截取字符串,再通过与工程中实时获取到的字符串做对比,如果对比相同,则认为IPA安装包未被重签名,否则签名已经被篡改。/n

【技术特征摘要】
1.一种防止IPA安装包重签名的方法,其特征在于:所述方法为:通过字节流的方式打开工程打包时用到的描述文件,并根据获取得到的字节流信息,转换为对应的字符串,根据一设定的规则截取字符串,再通过与工程中实时获取到的字符串做对比,如果对比相同,则认为IPA安装包未被重签名,否则签名已经被篡改。


2.根据权利要求1所述的一种防止IPA安装包重签名的方法,其特征在于:所述方法进一步包括如下步骤:步骤S1:获取打包工程时所需使用到的描述文件;
步骤S2:以字节流的方式打包对应的描述文件,获取到字节流的信息,并将节流的信息转换为字符串M1,根据一设定的规则截取其中部分字符串得到字符串T1记录工程中;
步骤S3:在工程代码中,在app运行的过程中,获取到当前应用所使用的描述文件,获取到描述文件对应的字节流信息并将其转换为对应的字符串M2,按照与步骤S2中相同的规则,截取其中部分字符串得到字符串T2;
步骤S4:比较字符串T1与字符串T2是否相同,相同则断定IPA安装包未被重签名,否则即已经被重签名。


3.根据权利要求2所述的一种防止IPA安装包重签名的方法,其特征在于:所述步骤S1进一步具体为:通过工程的info.plist文件,查询到当前工程所使用的唯一标示bundleId、描述文件名称信息,通过工程的唯一标示bundleId与描述文件名称信息,在保存描述文件的路径下寻找到对应的描述文件;或者先将工程打包一次,进入到打包后生成的IPA安装包中,直接获取IPA安装包中的描述文件。


4.根据权利要求2所述的一种防止IPA安装包重签名的方法,其特征在于:所述S2进一步具体为:
在工程中,以字节流的方式打包对应的描述文件,读取导入的描述文件的字节流,并将字节流直接通过字符串M1的形式保存;所述设定的规则为:截取字符串M1的前128位以及后64位拼接成新的字符串,或者截取字符串M1的md5码的前16位以及M1字符串的后32位拼接成新的字符串,或者截取字符串M1的前32位以及字符串M1的Base64加密后的128位拼接成新的字符串,三种中的任意一种。


5.根据权利要求2所述的一种防止IPA安装包重签名的方法,其特征在于:所述S3进一步具体为:在app运行过程中,获取到当前应用程序下的embedded.mobileprovision描述文件;获取到描述文件对应的字节流信息并将其转换为对应的字符串M2,通过描述文件获取到对应描述文件的字节流,并将字节流直接通过字符串的形式保存,截取字符串M2的前128位以及后64位拼接成新的字符串T2并作为原始串进行保存。


6.一种防止IPA安装包重签名的系统,其特征在于:所述系统包...

【专利技术属性】
技术研发人员:刘德建陈晋添陈庆良李正蔡皇宇郑瑞明吴载俭潘燕彬刘威陈丽丽陈威樊小龙陈宏展
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:福建;35

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

1