应用程序处理方法、装置、电子设备、系统和存储介质制造方法及图纸

技术编号:28499538 阅读:12 留言:0更新日期:2021-05-19 22:40
本发明专利技术实施例公开了一种应用程序处理方法、装置、电子设备、系统和存储介质,该应用程序处理方法包括:反编译目标应用程序的安装包得到源代码文件;根据源代码文件及预设敏感函数库确定目标应用程序调用的敏感函数;根据该敏感函数为目标应用程序生成敏感函数检测报告。本发明专利技术实施例中,可以根据反编译得到的源代码文件及预设敏感函数库自动检测目标应用程序调用的敏感函数,相较于人工检测方法,提高了敏感函数检测效率,且能够自动、直观地呈现检测结果。现检测结果。现检测结果。

【技术实现步骤摘要】
应用程序处理方法、装置、电子设备、系统和存储介质


[0001]本专利技术涉及计算机技术,尤其涉及一种应用程序处理方法、装置、电子设备、系统和存储介质。

技术介绍

[0002]企业的法律合规部门需要对应用程序的安装包进行合规审核,在实现本专利技术的过程中,专利技术人发现,在审核的过程中,需要人工检测反编译安装包得到的文件以确定应用程序中调用了哪些敏感函数,所谓敏感函数指的是调用敏感权限的函数,敏感权限可以包括涉及用户隐私信息(比如通信录、短信等)的权限、涉及敏感操作能力(比如摄像头、麦克风等)的权限等,人工检测敏感函数的方法不够智能,检测效率低,检测结果无法自动、直观地呈现。

技术实现思路

[0003]本专利技术实施例提供一种应用程序处理方法、装置、电子设备、系统和存储介质,能够提高敏感函数检测效率,且能够自动、直观地呈现检测结果。
[0004]第一方面,本专利技术实施例提供一种应用程序处理方法,所述方法包括:
[0005]反编译目标应用程序的安装包得到源代码文件;
[0006]根据所述源代码文件及预设敏感函数库确定所述目标应用程序调用的敏感函数;
[0007]根据所述敏感函数为所述目标应用程序生成敏感函数检测报告。
[0008]第二方面,本专利技术实施例提供一种应用程序处理装置,所述装置包括:
[0009]反编译模块,用于反编译目标应用程序的安装包得到源代码文件;
[0010]确定模块,用于根据所述源代码文件及预设敏感函数库确定所述目标应用程序调用的敏感函数;
[0011]生成模块,用于根据所述敏感函数为所述目标应用程序生成敏感函数检测报告。
[0012]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的应用程序处理方法。
[0013]第四方面,本专利技术实施例还提供了一种应用程序处理系统,包括终端以及用于执行本专利技术实施例中任一所述的应用程序处理方法的电子设备。
[0014]第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的应用程序处理方法。
[0015]本专利技术实施例中,可以反编译目标应用程序的安装包得到源代码文件;根据源代码文件及预设敏感函数库确定目标应用程序调用的敏感函数;根据敏感函数为目标应用程序生成敏感函数检测报告;即本专利技术实施例中,可以根据反编译得到的源代码文件及预设敏感函数库自动检测目标应用程序调用的敏感函数,相较于人工检测方法,更加智能化,提高了敏感函数检测效率;且通过自动生成敏感函数检测报告,使得检测结果可以自动、直观
地呈现,为审核人员提供了便利。
[0016]另外,在检测的过程中,可以采用正则匹配的方法和字符串匹配的方法两种方法从敏感函数所属的类和名称两个维度来检测敏感函数,避免了漏检,提升了检测结果的全面性。
[0017]进一步地,在生成敏感函数检测报告时,还结合了敏感函数的位置信息,方便了审核人员定位敏感函数在源代码中的调用位置。
[0018]此外,还根据检测到的敏感函数涉及的敏感权限和已申请权限生成了权限审核报告,审核人员查看权限审核报告即可获知权限合规情况,进一步为应用程序的审核提供了便利。
附图说明
[0019]图1是本专利技术实施例提供的应用程序处理方法的一个流程示意图。
[0020]图2是本专利技术实施例提供的敏感函数检测方法的一个流程示意图。
[0021]图3是本专利技术实施例提供的敏感函数检测报告的一个效果示意图。
[0022]图4是本专利技术实施例提供的敏感函数检测方法的另一流程示意图。
[0023]图5是本专利技术实施例提供的权限审核方法的一个流程示意图。
[0024]图6是本专利技术实施例提供的权限审核报告的一个效果示意图。
[0025]图7是本专利技术实施例提供应用程序处理装置的一个结构示意图。
[0026]图8是本专利技术实施例提供的应用程序处理系统的一个结构示意图。
[0027]图9是本专利技术实施例提供的电子设备的一个结构示意图。
具体实施方式
[0028]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0029]图1为本专利技术实施例提供的应用程序处理方法的一个流程示意图,该方法可以由本专利技术实施例提供的应用程序处理装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在服务器中。以下实施例将以该装置集成在服务器中为例进行说明。参考图1,该方法具体可以包括如下步骤:
[0030]步骤101,反编译目标应用程序的安装包得到源代码文件。
[0031]示例地,目标应用程序可以指需要进行敏感函数检测的应用程序,目标应用程序可以是Android(谷歌公司开发的移动操作系统)应用程序,也可以是IOS(苹果公司开发的移动操作系统)应用程序,下面以目标应用程序为Android应用程序为例进行说明。具体地,可以利用反编译工具反编译目标应用程序的安装包得到源代码文件,目标应用程序的安装包可以是APK(Android application package)包,也可以是软件开发工具(Software Development Kit,SDK)包,反编译工具比如:apktool、dex2jar、jd

gui、jadx、AXMLPrinter2等,源代码文件例如可以是java文件、kotlin文件等。
[0032]比如,可以利用apktool或AXMLPrinter2反编译安装包并解析,得到classes.dex文件等;利用dex2jar将反编译后得到的classes.dex文件解析为后缀为.jar文件,利用jd

gui将.jar文件解析成java文件,从而得到源代码文件。
[0033]步骤102,根据源代码文件及预设敏感函数库确定目标应用程序中集成的敏感函数。
[0034]示例地,敏感函数可以指调用敏感权限的函数,敏感权限可以包括涉及用户隐私信息(比如通信录、短信等)的权限、涉及敏感操作能力(比如摄像头、麦克风等)的权限等。Android系统中权限被明确分成了普通权限(Normal Permission)与危险权限(Dangerous Permission)两种,危险权限属于敏感权限。
[0035]为了便于管理,Android系统将功能相似的权限,如读外部存储的权限RE AD_EXTERNAL_STORAGE与写外部存储的权限WRITE_EXTERNAL_STOR AGE等编成了数个权限组(Permission Group),同一个组内的所有权限会被同时授予,在实际应用中,会出现以下两本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序处理方法,其特征在于,包括:反编译目标应用程序的安装包得到源代码文件;根据所述源代码文件及预设敏感函数库确定所述目标应用程序调用的敏感函数;根据所述敏感函数为所述目标应用程序生成敏感函数检测报告。2.根据权利要求1所述的应用程序处理方法,其特征在于,所述预设敏感函数库通过如下方式得到:获取预设敏感函数的特征信息;根据所述预设敏感函数的特征信息创建所述预设敏感函数库。3.根据权利要求2所述的应用程序处理方法,其特征在于,所述预设敏感函数的特征信息包括:所述预设敏感函数的名称和所述预设敏感函数所属的类的类名。4.根据权利要求2或3所述的应用程序处理方法,其特征在于,所述根据所述预设敏感函数的特征信息创建所述预设敏感函数库,包括:根据所述预设敏感函数的特征信息构建查询信息;根据所述查询信息创建所述预设敏感函数库。5.根据权利要求4所述的应用程序处理方法,其特征在于,所述查询信息包括正则表达式,对应地,所述预设敏感函数库包括第一敏感函数库;和/或所述查询信息包括字符串,对应地,所述预设敏感函数库包括第二敏感函数库。6.根据权利要求5所述的应用程序处理方法,其特征在于,所述根据所述源代码文件及预设敏感函数库确定所述目标应用程序调用的敏感函数,包括:根据所述第一敏感函数库中的正则表达式采用正则匹配方法查询所述源代码文件,得到正则匹配敏感函数;或/和根据所述第二敏感函数库中的字符串采用字符串匹配方法查询所述源代码文件,得到字符串匹配敏感函数。7.根据权利要求6所述的应用程序处理方法,其特征在于,所述根据所述第一敏感函数库中的正则表达式采用正则匹配方法查询所述源代码文件,得到正则匹配敏感函数,包括:从所述第一敏感函数库中提取第一正则表达式和第二正则表达式,所述第一正则表达式用于查询第一敏感函数所属的类,所述第二正则表达式用于查询所述第一敏感函数;在所述源代码文件中查询与所述第一正则表达式和/或所述第二正则表达式匹配的第一目标数据,并根据所述第一目标数据获取所述正则匹配敏感函数,所述第一目标数据中包括所述第一敏感函数所属的类和/或所述第一敏感函数。8.根据权利要求7所述的应用程序处理方法,其特征在于,所述根据所述第一目标数据获取所述正则匹配敏感函数,包括:当所述第一目标数据中包括所述第一敏感函数时,将所述第一敏感函数作为所述正则匹配敏感函数;当所述第一目标数据中不包括所述第一敏感函数时,反射所述第一敏感函数所属的类得到所述第一敏感函数,将所述第一敏感函数作为所述正则匹配敏感函数。9.根据权利要求7所述的应用程序处理方法,其特征在于,所述方法还包括:获取所述第一目标数据在所述源代码文件中的第一位置信息。10.根据权利要求6所述的应用程序处理方法,其特征在于,所述根据所述第二敏感函
数库中的字符串采用字符串匹配方法查询所述源代码文件,得到字符串匹配敏感函数,包括:从所述第二敏感函数库中提取第一字符串和第二字符串,所述第一字符串用于查询第二敏感函数所属的类,所述第二字符串用于查询所述第二敏感函数;在所述源代码文件中查询与所述第一字符串和/或所述第二字符串匹配的第二目标数据,并根据...

【专利技术属性】
技术研发人员:任旭龙
申请(专利权)人:京东数字科技控股股份有限公司
类型:发明
国别省市:

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

1