一种安卓重打包应用的检测方法及装置的制造方法_3

文档序号:9631736阅读:来源:国知局
组件使用统计数据:permission为10, activity为 20,service为 2,receiver和provider都为 0,则可将Xstaticl= [10, 20, 2, 0, 0] 作为一个静态特征。
[0073] 对正版应用和重打包应用的安装文件可以用逆向工程工具进行反编译,获取配置 文件;对上述配置文件进行解码,扫描源码并提取其中的权限向量,得到每个程序对应的权 限集;从安卓程序中筛选出部分敏感权限作为静态特征,如CALL_PH0NE、SEND_SMS、GET_ ACCOUNTS、GET_L0CATI0N、READ_PH0NE_SMS、READ_C0NTACTS、CAMERA、ACCESS_NETWORK_ STATE、ACCESS_WIFI_STATE、INTERNET,将这些权限中未使用的置0,使用到的置1,这样每 个应用样本生成一个与之对应的二进制特征向量。如某一应用申请了CALL_PH0NE、SEND_ SMS、GET_ACC0UNTs、READ_C0NTACTS、INTERNET权限,则基于权限的特征向量可以为Xstatlc2 =[1,1,1,0, 0, 1,0, 0, 0, 1],即可作为一个静态特征。
[0074] 步骤205、对待检测的安卓应用的文件特征和待检测的安卓应用的静态特征进行 融合,形成待检测的安卓应用的融合特征。
[0075] 步骤206、对正版应用的文件特征和正版应用的静态特征进行融合,形成正版应用 的融合特征。
[0076] 在步骤205和步骤206之后,继续执行步骤207。
[0077] 步骤207、根据杰卡德相似性算法,确定待检测的安卓应用的融合特征与正版应用 的融合特征的相似度。
[0078] 具体可以根据公式:
[0079] 确定待检测的安卓应用的融合特征与正版应用的融合特征的相似度J(A,B)。
[0080] 值得说明的是,待检测的安卓应用的融合特征与正版应用的融合特征中分别包括 多个特征元素;其中,待检测的安卓应用的融合特征中的多个特征元素构成集合A;正版应 用的融合特征中的多个特征元素构成集合B。
[0081] 步骤208、确定待检测的安卓应用的签名信息和正版应用的签名信息是否不同。
[0082] 具体的,该步骤208可以采用如下方式实现:从待检测的安卓应用和正版应用中 分别提取作者签名信息;计算待检测的安卓应用的作者签名信息的第一MD5值;计算正版 应用的作者签名信息的第二MD5值;确定第一MD5值和第二MD5值是否不同。此处,若第一 MD5值和第二MD5值不同,则可以确定待检测的安卓应用的签名信息和正版应用的签名信 息不同。
[0083] 步骤209、若相似度大于等于一预先设置的相似度阈值,且待检测的安卓应用的签 名信息和正版应用的签名信息不同,确定待检测的安卓应用为正版应用的重打包应用。
[0084] 本发明实施例提供一种安卓重打包应用的检测方法,能够从反编译代码和布局文 件中获取实际调用过的图片文件和声音文件,形成待检测的安卓应用的文件特征和正版应 用的文件特征。并基于静态分析特征提取,提取出待检测的安卓应用的静态特征和正版应 用的静态特征。进而分别形成待检测的安卓应用的融合特征和正版应用的融合特征,再由 杰卡德相似性算法确定待检测的安卓应用的融合特征与正版应用的融合特征的相似度。从 而在相似度大于等于一相似度阈值,且待检测的安卓应用的签名信息和正版应用的签名信 息不同时,能够确定待检测的安卓应用为正版应用的重打包应用。可见,本发明避免了采用 基于可执行代码的相似性检测方法,由于代码混淆造成的准确性较差的问题。同时,本发明 获取的是反编译代码和布局文件中实际调用过的图片文件和声音文件,而并非采用应用中 全部的图片和声音文件,且采用杰卡德相似性算法较为简单,避免了基于文件的相似性检 测方法所造成的检测过程繁琐复杂,以及由于冗余图片和声音文件所造成的检测结果不准 确的问题。
[0085] 对应于上述图1和图2所示的方法实施例,本发明还提供一种安卓重打包应用的 检测装置,如图3所示,包括:
[0086] 文件特征获取单元31,可以分别获取待检测的安卓应用和正版应用的反编译代码 和布局文件,并获取各自的反编译代码和布局文件中实际调用过的图片文件和声音文件, 形成待检测的安卓应用的文件特征和正版应用的文件特征。
[0087] 静态特征获取单元32,可以对待检测的安卓应用和正版应用进行基于静态分析的 特征提取,形成待检测的安卓应用的静态特征和正版应用的静态特征。
[0088] 第一融合单元33,可以对待检测的安卓应用的文件特征和待检测的安卓应用的静 态特征进行融合,形成待检测的安卓应用的融合特征。
[0089] 第二融合单元34,可以对正版应用的文件特征和正版应用的静态特征进行融合, 形成正版应用的融合特征。
[0090] 相似度计算单元35,可以根据杰卡德相似性算法,确定待检测的安卓应用的融合 特征与正版应用的融合特征的相似度。
[0091] 签名信息确定单元36,可以确定待检测的安卓应用的签名信息和正版应用的签名 信息是否不同。
[0092] 重打包应用判断单元37,可以在相似度大于等于一预先设置的相似度阈值,且待 检测的安卓应用的签名信息和正版应用的签名信息不同时,确定待检测的安卓应用为正版 应用的重打包应用。
[0093] 具体的,如图4所示,静态特征获取单元32,包括:
[0094] 获取模块321,可以获取待检测的安卓应用和正版应用调用安卓系统组件的情况 数据,所申请的安卓系统权限和调用API情况的统计数据。
[0095] 静态特征确定模块322,可以将待检测的安卓应用调用安卓系统组件的情况数据 和所申请的安卓系统权限和调用API情况的统计数据,作为待检测的安卓应用的静态特 征。
[0096] 静态特征确定模块322,还可以将正版应用调用安卓系统组件的情况数据和所申 请的安卓系统权限和调用API情况的统计数据,作为正版应用的静态特征。
[0097] 此外,第一融合单元33中的待检测的安卓应用的融合特征与第二融合单元34中 的正版应用的融合特征中分别包括多个特征元素;其中,待检测的安卓应用的融合特征中 的多个特征元素构成集合A;正版应用的融合特征中的多个特征元素构成集合B。
[0098]另外,该相似度计算单元35,具体可以根据公式
定待检测的 安卓应用的融合特征与正版应用的融合特征的相似度J(A,B)。
[0099] 具体的,如图4所示,该签名信息确定单元36,可以包括:
[0100] 作者签名信息提取模块361,可以从待检测的安卓应用和正版应用中分别提取作 者签名信息。
[0101] MD5值计算模块362,可以计算待检测的安卓应用的作者签名信息的第一MD5值, 并计算正版应用的作者签名信息的第二MD5值。
[0102] MD5值比较模块363,可以确定第一MD5值和第二MD5值是否不同。
[0103] 值得说明的是,本发明实施例提供的安卓重打包应用的检测装置的具体实现方式 可以参见上述图1和图2对应的方法实施例,此处不再赘述。
[0104] 本发明实施例提供一种安卓重打包应用的检测装置,能够从反编译代码和布局文 件中获取实际调用过的图片文件和声音文件,形成待检测的安卓应用的文件特征和正版应 用的文件特征。并基于静态分析特征提取,提取出待检测的安卓应用的静态特征和正版应 用的静态特征。进而分别形成待检测的安卓应用的融合特征和正版应用的融合特征,再由 杰卡德相似性算法确定待检测的安卓应用的融合特征与正版应用的融合特征的相似度。从 而在相似度大于等于一相似度阈值,且待检测的安卓应用的签名信息和正版应用的签名信 息不同时,能够确定待检测的安卓应用为正版应用的重打包应用。可见,本发明避免了采用 基于可执行代码的相似性检测方法,由于代码混淆造成的准确性较差的问题。同时,本发明 获取的是反编译代码和布局文件中实际调用过的图片文件和声音文件,而并非采用应用中 全部的图片和声音文件,且采用杰卡德相似性算法较为简单,避免了基于文件的相似性检 测方法所造成的检测过程繁琐复杂,以及由于冗余图片和声音文件所造成的检测结果不准 确的问题。
[0105] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1