依赖组件分析方法、装置、设备及存储介质制造方法及图纸

技术编号:37178116 阅读:14 留言:0更新日期:2023-04-20 22:45
本申请公开一种依赖组件分析方法、装置、设备及存储介质,该方法包括:获取二进制软件包

【技术实现步骤摘要】
依赖组件分析方法、装置、设备及存储介质


[0001]本申请涉及软件分析
,尤其涉及一种依赖组件分析方法、装置、设备及存储介质。

技术介绍

[0002]Debian文件指的是运行于ubuntu系统上的.deb安装包。一般以name_ver

rev_arch.deb命名,其中name是软件包名,ver是软件版本,rev是重新修订的版本,arch是目标架构。依赖组件指的是完成软件运行所需要的外部提供的软件包。
[0003]目前同类技术要实现二进制软件包依赖组件解析,一般需要完成以下工作:
[0004]收集大量的文件数据,缓存或持久化到磁盘;
[0005]针对收集的组件包,计算文件hash,生成关联组件库;
[0006]当上传Debian二进制文件时,计算上传的文件hash,查询本地数据库,获取组件信息。
[0007]这些工作实现时,需要投入大量的时间和精力在数据收集上,并且具有一定的移植难度。此外,文件收集的数据存在不完全,数据冲突等问题,导致解析出的结果存在误报、漏报等情况。

技术实现思路

[0008]本申请的主要目的在于提供一种依赖组件分析方法、装置、设备及存储介质,可简化二进制软件包Debian文件依赖组件分析难度,提升Debian依赖组件解析功能的可移植性。
[0009]为实现上述目的,本申请提供一种依赖组件分析方法,所述方法包括以下步骤:
[0010]获取二进制软件包

Debian文件;
[0011]从所述二进制软件包

Debian文件中提取编译脚本文件;
[0012]对所述编译脚本文件进行依赖组件分析。
[0013]可选地,所述从所述二进制软件包

Debian文件中提取编译脚本文件的步骤包括:
[0014]解压所述二进制软件包

Debian文件,得到包含软件包控制信息的压缩包control.tar.gz;
[0015]解压所述control.tar.gz,提取control文件。
[0016]可选地,所述解压所述二进制软件包

Debian文件,得到包含软件包控制信息的压缩包control.tar.gz的步骤包括:
[0017]使用ar

vx name_ver_rev

arch.deb文件解压所述二进制软件包

Debian文件,得到包含软件包控制信息的压缩包control.tar.gz。
[0018]可选地,所述解压所述control.tar.gz,提取control文件的步骤包括:
[0019]执行命令tar

zxvf control.tar.gz解压所述control.tar.gz,提取control文件。
[0020]可选地,所述对所述编译脚本文件进行依赖组件分析的步骤包括:
[0021]分析所述control文件中相关域,获取依赖组件。
[0022]可选地,所述分析所述control文件中相关域,获取依赖组件的步骤包括:
[0023]读取所述control文件中的Depens、Recommands域的组件;
[0024]分别获取所述组件的组件名及版本号。
[0025]可选地,所述二进制软件包

Debian文件为.deb文件。
[0026]本申请实施例还提出一种依赖组件分析装置,所述装置包括:
[0027]获取模块,用于获取二进制软件包

Debian文件;
[0028]提取模块,用于从所述二进制软件包

Debian文件中提取编译脚本文件;
[0029]分析模块,用于对所述编译脚本文件进行依赖组件分析。
[0030]本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的依赖组件分析程序,所述依赖组件分析程序被所述处理器执行时实现如上所述的依赖组件分析方法。
[0031]本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读程序,所述计算机可读程序被处理器执行时实现如上所述的依赖组件分析方法。
[0032]本申请实施例提出的依赖组件分析方法、装置、设备及存储介质,通过获取二进制软件包

Debian文件;从所述二进制软件包

Debian文件中提取编译脚本文件;对所述编译脚本文件进行依赖组件分析。该方法可以降低二进制软件包

Debian文件组件解析复杂度;提升二进制软件包

Debian的解析功能的可移植性,只需要平台支持ar归档文件操作即可使用。
[0033]相比现有技术,本申请依赖组件分析方案具有如下优点:
[0034]1、节约成本。减少文件收集、hash数据分析、数据维护需要投入的人力成本;减少文件存储提供的大数据空间。
[0035]2、简化解析过程。通过分析Debian脚本文件中Depends相关域,指定的信息获取依赖组件。
[0036]3、提升技术的可移植性。通过抛弃解析过程中对海量数据的依赖,使得解析功能可以轻易的移植到其他机器或平台上。
附图说明
[0037]图1为本申请依赖组件分析装置所属终端设备的功能模块示意图;
[0038]图2为本申请依赖组件分析方法第一示例性实施例的流程示意图;
[0039]图3为本申请依赖组件分析方法实施例中解压Debian软件包的示意图;
[0040]图4为本申请依赖组件分析方法实施例中解压control.tar.gz的示意图;
[0041]图5为本申请依赖组件分析方法实施例中分析control文件中相关域的示意图。
[0042]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0043]应当理解,此处所描述的具体实施案例仅仅用以解释本申请,并不用于限定本申
请。
[0044]本申请实施例的主要解决方案是:通过获取二进制软件包

Debian文件;从所述二进制软件包

Debian文件中提取编译脚本文件;对所述编译脚本文件进行依赖组件分析。该方法可以降低二进制软件包

Debian文件组件解析复杂度;提升二进制软件包

Debian的解析功能的可移植性,只需要平台支持ar归档文件操作即可使用。
[0045]相比现有技术,本申请依赖组件分析方案具有如下优点:
[0046]1、节约成本。减少文件收集、hash数据分析、数据维护需要投入的人力成本;减少文件存储提供的大数据空间。
[0047]2、简化解析本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种依赖组件分析方法,其特征在于,所述方法包括以下步骤:获取二进制软件包

Debian文件;从所述二进制软件包

Debian文件中提取编译脚本文件;对所述编译脚本文件进行依赖组件分析。2.根据权利要求1所述的方法,其特征在于,所述从所述二进制软件包

Debian文件中提取编译脚本文件的步骤包括:解压所述二进制软件包

Debian文件,得到包含软件包控制信息的压缩包control.tar.gz;解压所述control.tar.gz,提取control文件。3.根据权利要求2所述的方法,其特征在于,所述解压所述二进制软件包

Debian文件,得到包含软件包控制信息的压缩包control.tar.gz的步骤包括:使用ar

vx name_ver_rev

arch.deb文件解压所述二进制软件包

Debian文件,得到包含软件包控制信息的压缩包control.tar.gz。4.根据权利要求2所述的方法,其特征在于,所述解压所述control.tar.gz,提取control文件的步骤包括:执行命令tar

zxvf control.tar.gz解压所述control.tar.gz,提取contr...

【专利技术属性】
技术研发人员:万振华
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1