SDK检测方法、装置、电子设备、系统和存储介质制造方法及图纸

技术编号:28295315 阅读:20 留言:0更新日期:2021-04-30 16:19
本发明专利技术实施例公开了一种SDK检测方法、装置、电子设备、系统和存储介质,该SDK检测方法包括:反编译目标应用程序的安装包得到目标文件;根据目标文件的指定信息及预设SDK集合确定目标应用程序中集成的目标SDK;根据目标SDK为目标应用程序生成SDK检测集。本发明专利技术实施例中,可以根据反编译得到的目标文件的指定信息及预设SDK集合自动检测目标应用程序中集成的SDK,因而不再需要人工检测SDK,提高了SDK的检测效率,且利用预设SDK集合可以实现SDK的全面检测,避免漏检。

【技术实现步骤摘要】
SDK检测方法、装置、电子设备、系统和存储介质
本专利技术涉及计算机技术,尤其涉及一种SDK检测方法、装置、电子设备、系统和存储介质。
技术介绍
企业的法律合规部门需要对应用程序的安装包进行合规审核,在实现本专利技术的过程中,专利技术人发现,在审核的过程中,需要人工检测反编译安装包得到的文件以确定应用程序中集成了哪些软件开发工具包(SoftwareDevelopmentKit,SDK),不够直观,检测效率低且容易出现漏检。
技术实现思路
本专利技术实施例提供一种SDK检测方法、装置、电子设备、系统和存储介质,能够提高SDK检测效率,避免漏检。第一方面,本专利技术实施例提供一种SDK检测方法,所述方法包括:反编译目标应用程序的安装包得到目标文件;根据所述目标文件的指定信息及预设SDK集合确定所述目标应用程序中集成的目标SDK;根据所述目标SDK为所述目标应用程序生成SDK检测集。第二方面,本专利技术实施例提供一种SDK检测装置,所述装置包括:反编译模块,用于反编译目标应用程序的安装包得到目标文件;确定模块,用于根据所述目标文件的指定信息及预设SDK集合确定所述目标应用程序中集成的目标SDK;生成模块,用于根据所述目标SDK为所述目标应用程序生成SDK检测集。第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的SDK检测方法。第四方面,本专利技术实施例还提供了一种SDK检测系统,包括终端以及用于执行本专利技术实施例中任一所述的SDK检测方法的电子设备。第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的SDK检测方法。本专利技术实施例中,可以反编译目标应用程序的安装包得到目标文件,根据目标文件的指定信息及预设SDK集合确定目标应用程序中集成的目标SDK;根据目标SDK为目标应用程序生成SDK检测集;即本专利技术实施例中,可以根据反编译得到的目标文件的指定信息及预设SDK集合自动检测目标应用程序中集成的SDK,因而不再需要人工检测SDK,提高了SDK的检测效率,且利用预设SDK集合可以实现SDK的全面检测,避免漏检。附图说明图1是本专利技术实施例提供的SDK检测方法的一个流程示意图。图2是本专利技术实施例提供的预设SDK集合创建方法的一个流程示意图。图3是本专利技术实施例提供的SDK检测方法的另一流程示意图。图4是本专利技术实施例提供的SDK检测方法一个效果示意图。图5是本专利技术实施例提供的SDK检测装置的一个结构示意图。图6是本专利技术实施例提供的SDK检测系统的一个结构示意图。图7是本专利技术实施例提供的电子设备的一个结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。由于现有的SDK检测方法,依赖人工在反编译之后得到的文件中查找SDK,效率较低,且对于不常用的SDK,人工查找的方式还不一定能发现,导致漏检,因而,本专利技术实施例提供一种SDK检测方法,能够提高检测效率,避免漏检。图1为本专利技术实施例提供的SDK检测方法的一个流程示意图,该方法可以由本专利技术实施例提供的SDK检测装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在服务器中。以下实施例将以该装置集成在服务器中为例进行说明。参考图1,该方法具体可以包括如下步骤:步骤101,反编译目标应用程序的安装包得到目标文件。示例地,目标应用程序可以指需要进行SDK检测的应用程序,目标应用程序可以是Android(谷歌公司开发的移动操作系统)应用程序,也可以是IOS(苹果公司开发的移动操作系统)应用程序,下面以目标应用程序为Android应用程序为例进行说明。具体地,可以利用反编译工具反编译目标应用程序的安装包得到目标文件,目标应用程序的安装包可以是APK(Androidapplicationpackage)包,也可以是SDK包,反编译工具比如:apktool、dex2jar、jd-gui、jadx、AXMLPrinter2等,目标文件比如全局配置文件(例如AndroidManifest.xml文件)、源代码文件(例如java文件、kotlin文件)等。比如,可以利用apktool或AXMLPrinter2反编译安装包并解析,得到全局配置文件AndroidManifest.xml文件、classes.dex文件等;利用dex2jar将反编译后得到的classes.dex文件解析为后缀为.jar文件,利用jd-gui将.jar文件解析成java文件,从而得到源代码文件。其中,全局配置文件AndroidManifest.xml文件是应用程序的配置清单文件,里面包含了应用程序的基本信息、组件信息、权限信息等。应用程序的基本信息比如:应用的包名PackageName、版本编码VersionCode、版本名VersionName、是否允许调试android:debuggable、应用图标android:icon、应用程序运行的进程名android:process、是否允许多进程android:multiprocess等,应用中所需要的SDK版本、元数据属性meta-data属性,其中meta-data属性中包括元数据项的名字android:name、资源的一个引用android:resource、指定给这一项的值android:value等。应用程序的组件信息比如:活动Activity、服务Service、广播接收器BroadcastReceiver和内容提供者ContentProvider这四大组件的类信息、声明信息等。应用程序的权限信息比如:系统预定义权限uses-permission、自定义权限permission、权限组permission-grouppermissions、权限树permission-tree等。其中,meta-data属性可以在活动Activity、服务Service、广播接收器BroadcastReceiver和内容提供者ContentProvider这四大组件下使用,meta-data属性可以为这些组件提供额外的参数数据,如果想给某个组件添加meta-data,那么meta-data需要定义在该组件的声明内。meta-data属性可以用于辅助检测第三方SDK,因为在接入分享、地图等私有的第三方SDK时,这些第三方SDK需要引用应用程序的活动Activity、服务Service、广播接收器BroadcastReceiver和内容提供者ContentProvider这些组件,因而需要在这些组件中本文档来自技高网...

【技术保护点】
1.一种软件开发工具包SDK检测方法,其特征在于,包括:/n反编译目标应用程序的安装包得到目标文件;/n根据所述目标文件的指定信息及预设SDK集合确定所述目标应用程序中集成的目标SDK;/n根据所述目标SDK为所述目标应用程序生成SDK检测集。/n

【技术特征摘要】
1.一种软件开发工具包SDK检测方法,其特征在于,包括:
反编译目标应用程序的安装包得到目标文件;
根据所述目标文件的指定信息及预设SDK集合确定所述目标应用程序中集成的目标SDK;
根据所述目标SDK为所述目标应用程序生成SDK检测集。


2.根据权利要求1所述的SDK检测方法,其特征在于,所述目标文件包括全局配置文件,所述全局配置文件中包括预设组件的声明信息,所述根据所述目标文件的指定信息及预设SDK集合确定所述目标应用程序中集成的目标SDK,包括:
在所述预设SDK集合中查找与所述声明信息匹配的SDK,得到第一目标SDK。


3.根据权利要求2所述的SDK检测方法,其特征在于,所述预设组件包括活动Activity、服务Service、广播接收器BroadcastReceiver和内容提供者ContentProvider中的至少一者。


4.根据权利要求2或3所述的SDK检测方法,其特征在于,所述目标文件包括源代码文件,所述根据所述目标文件的指定信息及预设SDK集合确定所述目标应用程序中集成的目标SDK,包括:
在所述预设SDK集合中查找与所述源代码文件的目录匹配的SDK,得到第二目标SDK。


5.根据权利要求4所述的SDK检测方法,其特征在于,所述根据所述目标SDK为所述目标应用程序生成SDK检测集,包括:
计算所述第一目标SDK和所述第二目标SDK的并集,得到所述SDK检测集。


6.根据权利要求1所述的SDK检测方法,其特征在于,所述预设SDK集合通过如下方式得到:
获取预设SDK的特征信息;
根据所述预设SDK的特征信息创建所述预设SDK集合。


7.根据权利要求6所述的SDK检测方法,其特征在于,所述获取预设SDK的特征信息,包括:
获取网络爬虫爬取...

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

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

1