[发明专利]检测安装包是否被二次打包的方法和装置有效
申请号: | 201410601347.1 | 申请日: | 2014-10-30 |
公开(公告)号: | CN104317599A | 公开(公告)日: | 2015-01-28 |
发明(设计)人: | 路轶 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F21/10 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙) 11391 | 代理人: | 康正德;郭海彬 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 安装 是否 二次 打包 方法 装置 | ||
1.一种检测安装包是否被二次打包的方法,包括:
解析指定安装包中的指定部分的二进制文件,得到所述二进制文件中的结构体的第一排序;
检测所述第一排序与第二排序是否相同,其中,所述第二排序为二次打包工具对安装包的指定部分编译后所产生的结构体的排序;
当所述第一排序与所述第二排序相同时,判定所述指定安装包为二次打包后的文件。
2.根据权利要求1所述的方法,其中,所述解析指定安装包中的指定部分的二进制文件,得到所述二进制文件中的结构体的第一排序,包括:
根据所述指定安装包的压缩格式对所述安装包进行解压缩,得到其中的dex文件和/或MF文件;
查看所述dex文件和/或MF文件的二进制文件,对所述二进制文件进行解析得到其中的多个结构体,并获得所述结构体的第一排序。
3.根据权利要求2所述的方法,其中,所述二进制文件中的结构体至少包括:
字符表或方法表。
4.根据权利要求2或3所述的方法,其中,所述对所述二进制文件进行解析得到其中的多个结构体,包括:
根据操作系统厂商对每种类型的结构体定义的格式在所述二进制文件中查找得到其中的多个结构体。
5.根据权利要求1至4中任一项所述的方法,其中,在判定所述指定安装包为二次打包后的文件之前,还包括:
计算所述指定安装包的签名;
确定所述指定安装包的签名是否在预设的白名单中;
当所述指定安装包的签名在所述预设的白名单中时,判定所述指定安装包为非二次打包文件。
6.一种检测安装包是否被二次打包的装置,包括:
解析模块,适于解析指定安装包中的指定部分的二进制文件,得到所述二进制文件中的结构体的第一排序;
排序检测模块,适于检测所述第一排序与第二排序是否相同,其中,所述第二排序为二次打包工具对安装包的指定部分编译后所产生的结构体的排序;
第一判定模块,适于当所述第一排序与所述第二排序相同时,判定所述指定安装包为二次打包后的文件。
7.根据权利要求6所述的装置,其中,所述解析模块包括:
解压单元,适于根据所述安装包的压缩格式对所述指定安装包进行解压缩,得到其中的dex文件和/或MF文件;
排序单元,适于查看所述dex文件和/或MF文件的二进制文件,对所述二进制文件进行解析得到其中的多个结构体,并获得所述结构体的第一排序。
8.根据权利要求7所述的装置,其中,所述二进制文件中的结构体至少包括:
字符表或方法表。
9.根据权利要求7或8所述的装置,其中,所述排序单元适于按照如下方式对所述二进制文件进行解析得到其中的多个结构体:
根据操作系统厂商对每种类型的结构体定义的格式在所述二进制文件中查找得到其中的多个结构体。
10.根据权利要求6至9中任一项所述的装置,其中,所述装置还包括:
签名检测模块,适于在判定所述指定安装包为二次打包后的文件之前,计算所述指定安装包的签名,并确定所述指定安装包的签名是否在预设的白名单中;
第二判定模块,适于当所述签名检测模块确定所述指定安装包的签名在所述预设的白名单中时,判定所述指定安装包为非二次打包文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410601347.1/1.html,转载请声明来源钻瓜专利网。