安卓应用加固的识别方法、装置、电子设备制造方法及图纸

技术编号:35901687 阅读:14 留言:0更新日期:2022-12-10 10:38
本说明书实施例提供的一种安卓应用加固的识别方法、装置、电子设备,识别方法首先获取待检测应用的APK文件;然后检测APK文件中是否有目标特征;目标特征至少包括目标函数、目标字符串、目标c l ass数量中的一个或多个;目标函数为位于so文件的导出函数,目标字符串为位于APK文件中的用于AP I调用的字符串,目标c l ass数量为从dex文件反编译获取的c l ass个数;若检测到APK文件中包括目标特征,则识别出待检测应用进行了加固。本方法通过检测APK文件中特定文件的特定特征,即可识别出待检测应用是否进行加固,检测速度快,且无需人为干预,操作成本低。操作成本低。操作成本低。

【技术实现步骤摘要】
安卓应用加固的识别方法、装置、电子设备


[0001]本专利技术涉及计算机
,尤其涉及一种安卓应用加固的识别方法、装置、电子设备。

技术介绍

[0002]对于安卓平台来说,出于安全性的考虑,一些应用程序(Application,缩写为APP)会使用加固软件来对程序进行加固,从而提升程序的安全性。但是,如果不知道APP是否被加固的情况下,对APP进行安全检测时,若该APP进行了加固则会导致整个安全检测失效,因此需要一种高效准确快速的识别程序是否进行了加固的功能。
[0003]现有的加固识别方法,是通过AI来训练模型,其需要AI算法,然后也需要对所有的加壳程序进行数据打标,并且对于一些没有收集到的加固厂商,则会造成漏判。同时,在出现新的加固方式时,该识别方法需要重新进行模型训练,样本收集,导致成本较大。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种安卓应用加固的识别方法、装置、电子设备。
[0005]依据本专利技术的第一个方面,提供了一种安卓应用加固的识别方法,应用于安卓平台,识别方法包括:
[0006]获取待检测应用的APK文件;
[0007]检测APK文件中是否有目标特征;目标特征至少包括目标函数、目标字符串、目标class数量中的一个或多个;目标函数为位于so文件的目标导出函数,目标字符串为位于APK文件中的用于API调用的字符串,目标class数量为从dex文件反编译获取的class个数;/>[0008]若检测到APK文件中包括目标特征,则识别出待检测应用进行了加固。
[0009]可选的,目标特征包括目标函数时,则检测APK文件中是否有目标特征的步骤,包括:
[0010]检测APK文件中是否包括so文件;
[0011]若包括so文件,则检测so文件中是否存在目标导出函数;目标导出函数为预设在导出函数库中的任意一个函数;
[0012]若存在,则确定APK文件中有目标特征,否则,APK文件中没有目标特征。
[0013]可选的,目标特征包括目标字符串时,检测APK文件中是否有目标特征的步骤,包括:
[0014]目标字符串包括Class<?>ActivityThreadClazz=classloader.loadClass、ctivityThreadClazz.getDeclaredMethod以及classloader.loadClass,检测APK文件中是否包括Class<?>ActivityThreadClazz=classloader.loadClass、classloader.loadClass以及ctivityThreadClazz.getDeclaredMethod;
[0015]若包括,则确定APK文件中有目标特征,否则,APK文件中没有目标特征。
[0016]可选的,目标特征包括目标class数量时,检测APK文件中是否有目标特征的步骤,包括:
[0017]对APK文件中的dex文件进行反编译,得到class数量;
[0018]将class数量与预设阈值进行比较,若class数量小于等于预设阈值,则APK文件中有目标特征,若class数量大于预设阈值,则APK文件中没有目标特征。
[0019]可选的,识别方法还包括:
[0020]若检测到APK文件中未包括目标特征,则运行待检测应用;
[0021]检测classes.dex文件中的attachBaseContext和onCreate的函数是否调用so文件接口;
[0022]若检测到调用,则识别出待检测应用进行了加固。
[0023]可选的,识别方法还包括:
[0024]若检测到APK文件中未包括目标特征,则运行待检测应用;
[0025]使用hook检测DexClassLoader或InMemoryDexClassLoader函数是否被调用;
[0026]若检测到被调用,则识别出待检测应用进行了加固。
[0027]可选的,识别方法还包括:
[0028]若检测到APK文件中未包括目标特征,则运行待检测应用;
[0029]读取APK文件中的Android Manifest.xml文件里Application标签下的android:name标签的内容,得到需要加载的class名称;
[0030]在预设的加固厂商名称库中查找是否存在与class名称匹配的目标名称;加固厂商名称库中包括多个目标名称,目标名称为加固厂商对应用进行加固时修改android:name标签所对应加载的class名称;
[0031]若存在,则识别出待检测应用进行加固。
[0032]依据本专利技术的第二个方面,提供一种安卓应用加固的识别装置,包括:
[0033]数据获取模块,数据获取模块用于获取待检测应用的APK文件;
[0034]检测模块,检测模块用于检测APK文件中是否有目标特征;目标特征至少包括目标函数、目标字符串、目标class数量中的一个或多个;目标函数为位于so文件的导出函数,目标字符串为位于APK文件中的用于API调用的字符串,目标class数量为从dex文件反编译获取的class个数;
[0035]识别模块,识别模块用于在检测到APK文件中包括目标特征时,识别出待检测应用进行了加固。
[0036]依据本专利技术的第三个方面,提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述任一种安卓应用加固的识别方法。
[0037]依据本专利技术的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述任一种安卓应用加固的识别方法步骤。
[0038]本说明书实施例中的上述一个或多个技术方案,至少具有如下技术效果:
[0039]本说明书实施例提供的一种安卓应用加固的识别方法、装置、电子设备,识别方法首先获取待检测应用的APK文件;然后检测APK文件中是否有目标特征;目标特征至少包括目标函数、目标字符串、目标class数量中的一个或多个;目标函数为位于so文件的导出函
数,目标字符串为位于APK文件中的用于API调用的字符串,目标class数量为从dex文件反编译获取的class个数;若检测到APK文件中包括目标特征,则识别出待检测应用进行了加固。本方法通过检测APK文件中特定文件的特定特征,即可识别出待检测应用是否进行加固,检测速度快,且无需人为干预,操作成本低。
[0040]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0041]通过阅读下文优本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种安卓应用加固的识别方法,其特征在于,应用于安卓平台,所述识别方法包括:获取待检测应用的APK文件;检测所述APK文件中是否有目标特征;所述目标特征至少包括目标函数、目标字符串、目标class数量中的一个或多个;所述目标函数为位于so文件的目标导出函数,所述目标字符串为位于APK文件中的用于API调用的字符串,所述目标class数量为从dex文件反编译获取的class个数;若检测到所述APK文件中包括所述目标特征,则识别出所述待检测应用进行了加固。2.根据权利要求1所述的安卓应用加固的识别方法,其特征在于,所述目标特征包括所述目标函数时,则所述检测所述APK文件中是否有目标特征的步骤,包括:检测所述APK文件中是否包括so文件;若包括so文件,则检测所述so文件中是否存在所述目标导出函数;所述目标导出函数为预设在导出函数库中的任意一个函数;若存在,则确定所述APK文件中有所述目标特征,否则,所述APK文件中没有所述目标特征。3.根据权利要求1所述的安卓应用加固的识别方法,其特征在于,所述目标特征包括所述目标字符串时,所述检测所述APK文件中是否有目标特征的步骤,包括:所述目标字符串包括Class<?>ActivityThreadClazz=classloader.loadClass、ctivityThreadClazz.getDeclaredMethod以及classloader.loadClass,检测所述APK文件中是否包括Class<?>ActivityThreadClazz=classloader.loadClass、classloader.loadClass以及ctivityThreadClazz.getDeclaredMethod;若包括,则确定所述APK文件中有所述目标特征,否则,所述APK文件中没有所述目标特征。4.根据权利要求1所述的安卓应用加固的识别方法,其特征在于,所述目标特征包括所述目标class数量时,所述检测所述APK文件中是否有目标特征的步骤,包括:对所述APK文件中的dex文件进行反编译,得到class数量;将所述class数量与预设阈值进行比较,若所述class数量小于等于预设阈值,则所述APK文件中有所述目标特征,若所述class数量大于预设阈值,则所述APK文件中没有所述目标特征。5.根据权利要求1所述的安卓应用加固的识别方法,...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼鱼乐网络科技有限公司
类型:发明
国别省市:

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

1