技术特征:
1.一种android重打包应用检测方法,其特征在于,包括:
获取合法应用及其对应的重打包应用;
计算得到各应用的结构特征点数组和特征值;
根据合法应用及其对应的重打包应用的特征值和结构特征点数组,计算合法应用及其对应的重打包应用的特征值比例差异平均值和特征点比例差异平均值,得到特征值差异阈值和特征点差异阈值;
获取待测应用,并计算得到所述待测应用的结构特征点数组和特征值;
若所述待测应用的特征值与一应用的特征值的差值绝对值小于所述特征值差异阈值,且所述待测应用与所述一应用的结构特征点数组中相同结构特征点的个数占结构特征点的总个数的比例大于所述特征点差异阈值,则判定所述待测应用为重打包应用。
2.根据权利要求1所述的android重打包应用检测方法,其特征在于,所述计算得到各应用的结构特征点数组和特征值具体为:
获取一应用的文件,并根据文件结构层次进行分组;
分别根据各层的文件个数和文件平均大小,计算得到各层的结构特征点;
按照预设顺序排列所述各层的结构特征点,得到所述一应用的结构特征点数组;
将所述结构特征点数组中的各结构特征点投射到预设的直角坐标系中,并依序将相邻的结构特征点进行连接,得到特征线段;
分别计算各特征线段的中心点与所述直角坐标系原点的距离值;
将各距离值进行相加,得到所述一应用的特征值。
3.根据权利要求1所述的android重打包应用检测方法,其特征在于,所述计算得到各应用的结构特征点数组和特征值之后,进一步包括:
将各应用的结构特征点数组、特征值以及应用签名存储至特征库。
4.根据权利要求1所述的android重打包应用检测方法,其特征在于,所述根据合法应用及其对应的重打包应用的特征值和结构特征点数组,计算合法应用及其对应的重打包应用的特征值比例差异平均值和特征点比例差异平均值,得到特征值差异阈值和特征点差异阈值具体为:
根据合法应用及其对应的重打包应用的特征值,计算得到特征值比例差异值;
计算多组合法应用及其对应的重打包应用的特征值比例差异值的平均值,得到特征值比例差异平均值,并将所述特征值比例差异平均值作为特征值差异阈值;
依序比对合法应用及其对应的重打包应用的结构特征点数组中的各结构特征点,获取相同结构特征点的个数;
根据所述相同结构特征点的个数与结构特征点数组中结构特征点的总个数,计算得到特征点比例差异值;
计算多组合法应用及其对应的重打包应用的特征点比例差异值的平均值,得到特征点比例差异平均值,并将所述特征点比例差异平均值作为特征点差异阈值。
5.根据权利要求1所述的android重打包应用检测方法,其特征在于,所述若所述待测应用的特征值与一应用的特征值的差值绝对值小于所述特征值差异阈值,且所述待测应用与所述一应用的结构特征点数组中相同结构特征点的个数占结构特征点的总个数的比例大于所述特征点差异阈值,则判定所述待测应用为重打包应用具体为:
判断是否存在一应用,所述一应用的特征值与所述待测应用的特征值的差值绝对值小于所述特征值差异阈值;
若不存在,则判定所述待测应用为非重打包应用;
若存在,则判断所述待测应用的应用签名与所述一应用的应用签名是否相同;
若相同,则判定所述待测应用为非重打包应用;
若不同,则获取所述待测应用与所述一应用的结构特征点数组中相同结构特征点的个数;
判断所述相同结构特征点的个数占所述一应用的结构特征点数组中结构特征点的总个数的比例是否大于所述特征点差异阈值;
若是,则判定所述待测应用为重打包应用;
若否,则判定所述待测应用为非重打包应用。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现以下步骤:
获取合法应用及其对应的重打包应用;
计算得到各应用的结构特征点数组和特征值;
根据合法应用及其对应的重打包应用的特征值和结构特征点数组,计算合法应用及其对应的重打包应用的特征值比例差异平均值和特征点比例差异平均值,得到特征值差异阈值和特征点差异阈值;
获取待测应用,并计算得到所述待测应用的结构特征点数组和特征值;
若所述待测应用的特征值与一应用的特征值的差值绝对值小于所述特征值差异阈值,且所述待测应用与所述一应用的结构特征点数组中相同结构特征点的个数占结构特征点的总个数的比例大于所述特征点差异阈值,则判定所述待测应用为重打包应用。
7.根据权利要求6所述的计算机可读存储介质,其特征在于,所述计算得到各应用的结构特征点数组和特征值具体为:
获取一应用的文件,并根据文件结构层次进行分组;
分别根据各层的文件个数和文件平均大小,计算得到各层的结构特征点;
按照预设顺序排列所述各层的结构特征点,得到所述一应用的结构特征点数组;
将所述结构特征点数组中的各结构特征点投射到预设的直角坐标系中,并依序将相邻的结构特征点进行连接,得到特征线段;
分别计算各特征线段的中心点与所述直角坐标系原点的距离值;
将各距离值进行相加,得到所述一应用的特征值。
8.根据权利要求6所述的计算机可读存储介质,其特征在于,所述计算得到各应用的结构特征点数组和特征值之后,进一步包括:
将各应用的结构特征点数组、特征值以及应用签名存储至特征库。
9.根据权利要求6所述的计算机可读存储介质,其特征在于,所述根据合法应用及其对应的重打包应用的特征值和结构特征点数组,计算合法应用及其对应的重打包应用的特征值比例差异平均值和特征点比例差异平均值,得到特征值差异阈值和特征点差异阈值具体为:
根据合法应用及其对应的重打包应用的特征值,计算得到特征值比例差异值;
计算多组合法应用及其对应的重打包应用的特征值比例差异值的平均值,得到特征值比例差异平均值,并将所述特征值比例差异平均值作为特征值差异阈值;
依序比对合法应用及其对应的重打包应用的结构特征点数组中的各结构特征点,获取相同结构特征点的个数;
根据所述相同结构特征点的个数与结构特征点数组中结构特征点的总个数,计算得到特征点比例差异值;
计算多组合法应用及其对应的重打包应用的特征点比例差异值的平均值,得到特征点比例差异平均值,并将所述特征点比例差异平均值作为特征点差异阈值。
10.根据权利要求6所述的计算机可读存储介质,其特征在于,所述若所述待测应用的特征值与一应用的特征值的差值绝对值小于所述特征值差异阈值,且所述待测应用与所述一应用的结构特征点数组中相同结构特征点的个数占结构特征点的总个数的比例大于所述特征点差异阈值,则判定所述待测应用为重打包应用具体为:
判断是否存在一应用,所述一应用的特征值与所述待测应用的特征值的差值绝对值小于所述特征值差异阈值;
若不存在,则判定所述待测应用为非重打包应用;
若存在,则判断所述待测应用的应用签名与所述一应用的应用签名是否相同;
若相同,则判定所述待测应用为非重打包应用;
若不同,则获取所述待测应用与所述一应用的结构特征点数组中相同结构特征点的个数;
判断所述相同结构特征点的个数占所述一应用的结构特征点数组中结构特征点的总个数的比例是否大于所述特征点差异阈值;
若是,则判定所述待测应用为重打包应用;
若否,则判定所述待测应用为非重打包应用。