[发明专利]检测安装包是否被二次打包的方法和装置有效
申请号: | 201410601347.1 | 申请日: | 2014-10-30 |
公开(公告)号: | CN104317599A | 公开(公告)日: | 2015-01-28 |
发明(设计)人: | 路轶 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F21/10 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙) 11391 | 代理人: | 康正德;郭海彬 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 安装 是否 二次 打包 方法 装置 | ||
技术领域
本发明涉及计算机领域,具体涉及一种检测安装包是否被二次打包的方法和装置。
背景技术
目前,手机、平板电脑等移动终端应用越来越广,基于移动终端进行开发的APP(Application,应用程序)也越来越多。并且,现在互联网上存在众多的应用市场,均能够提供APP的下载。
由于众多的应用市场的存在,导致对于APP的管理很混乱。因此,一些恶意开发者开始对APP的安装包(例如apk文件)进行二次打包,并再次发布。
具体地,二次打包也即恶意开发者拿到APP的正版安装包,将其反编译后,加入广告、恶意代码等,再次打包为安装包,并提供给网民下载,以达到其广告宣传等目的。
而在现有技术中,网民在对安装包进行安装前无法判断是否被二次打包,且目前市面上具有成熟的二次打包工具,进行二次打包的技术门槛很低,导致了安装包被二次打包的现象泛滥。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种检测安装包是否被二次打包的方法和相应地装置。
依据本发明的一个方面,提供一种检测安装包是否被二次打包的方法,包括:
解析指定安装包中的指定部分的二进制文件,得到所述二进制文件中的结构体的第一排序;
检测所述第一排序与第二排序是否相同,其中,所述第二排序为二次打包工具对安装包的指定部分编译后所产生的结构体的排序;
当所述第一排序与所述第二排序相同时,判定所述指定安装包为二次打包后的文件。
可选地,所述解析指定安装包中的指定部分的二进制文件,得到所述二进制文件中的结构体的第一排序,包括:
根据所述指定安装包的压缩格式对所述安装包进行解压缩,得到其中的dex文件和/或MF文件;
查看所述dex文件和/或MF文件的二进制文件,对所述二进制文件进行解析得到其中的多个结构体,并获得所述结构体的第一排序。
可选地,所述二进制文件中的结构体至少包括:
字符表或方法表。
可选地,所述对所述二进制文件进行解析得到其中的多个结构体,包括:
根据操作系统厂商对每种类型的结构体定义的格式在所述二进制文件中查找得到其中的多个结构体。
可选地,在判定所述指定安装包为二次打包后的文件之前,还包括:
计算所述指定安装包的签名;
确定所述指定安装包的签名是否在预设的白名单中;
当所述指定安装包的签名在所述预设的白名单中时,判定所述指定安装包为非二次打包文件。
可选地,在判定所述指定安装包为二次打包后的文件之后,还包括:
将所述指定安装包标记为经二次打包的文件,并记录在指定的特征库中;
和/或,
提示用户所述指定安装包为二次打包的文件
和/或,
提示用户所述指定安装包为山寨应用,并推荐与所述指定安装包对应的正版应用。
可选地,所述提示用户所述指定安装包为山寨应用,包括:
提取所述指定安装包中的特征信息,并将所述特征信息上传给云服务器,由所述云服务器根据所述特征信息判断所述指定安装包是否为山寨应用;
当接收到所述云服务器返回的确认结果为所述指定安装包为山寨应用时,提示用户所述指定安装包为山寨应用。
可选地,所述指定安装包的特征信息包括:
安装包的包名、版本号、开发者签名、Android组件receiver的特征,Android组件service的特征,Android组件activity的特征,可执行文件中的指令或字符串和安装包目录下各文件的校验值。
可选地,所述推荐与所述指定安装包对应的正版应用,包括:
由云服务器下载与所述指定安装包对于的正版应用的安装包,并推荐用户进行安装。
依据本发明的另一个方面,提供一种检测安装包是否被二次打包的装置,包括:
解析模块,适于解析指定安装包中的指定部分的二进制文件,得到所述二进制文件中的结构体的第一排序;
排序检测模块,适于检测所述第一排序与第二排序是否相同,其中,所述第二排序为二次打包工具对安装包的指定部分编译后所产生的结构体的排序;
第一判定模块,适于当所述第一排序与所述第二排序相同时,判定所述指定安装包为二次打包后的文件。
可选地,所述解析模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410601347.1/2.html,转载请声明来源钻瓜专利网。