组件检测方法、装置、终端设备以及存储介质制造方法及图纸

技术编号:38733689 阅读:17 留言:0更新日期:2023-09-08 23:22
本发明专利技术公开了一种组件检测方法、装置、终端设备以及存储介质,其组件检测方法包括:将预设的组件库中的开源组件源码的信息存入数据库中;获取待检测文件的源码信息;根据所述待检测文件的源码信息,通过所述数据库进行比对,获得比对结果。本发明专利技术解决了检测成本高以及检测准确率低的问题,提高了组件检测的准确率。率。率。

【技术实现步骤摘要】
组件检测方法、装置、终端设备以及存储介质


[0001]本专利技术涉及软件检测
,尤其涉及一种组件检测方法、装置、终端设备以及存储介质。

技术介绍

[0002]由于编译器、编译优化配置、指令架构等问题,导致在同一份开源组件源码所编译出的二进制文件会有明显的差别,所以很难将源码与二进制文件建立起对应关系。
[0003]目前对二进制文件的检测方案大多采用基于文本、属性度量、程序逻辑、语义等方式,存在着准确率不高或成本投入大等问题。
[0004]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0005]本专利技术的主要目的在于提供一种组件检测方法、装置、终端设备以及存储介质,旨在解决检测成本高以及检测准确率低的技术问题。
[0006]为实现上述目的,本专利技术提供一种组件检测方法,所述组件检测方法包括:
[0007]将预设的组件库中的开源组件源码的信息存入数据库中;
[0008]获取待检测文件的源码信息;
[0009]根据所述待检测文件的源码信息,通过所述数据库进行比对,获得比对结果。
[0010]可选的,所述将预设的组件库中的开源组件源码的信息存入数据库中的步骤包括:
[0011]根据预设的组件库,获取开源组件源码;
[0012]根据所述开源组件源码,获取所述开源组件源码的源文件名称、函数名称以及函数名称所对应的特征码;
[0013]根据所述特征码,通过预设的操作进行处理,获得处理后的函数特征码;
[0014]将所述开源组件源码的源文件名称、函数名称以及处理后的函数特征码存入数据库中。
[0015]可选的,所述根据所述开源组件源码,获取所述开源组件源码的源文件名称、函数名称以及函数名称所对应的特征码的步骤包括:
[0016]根据所述开源组件源码,通过预设的编写程序将所述开源组件源码中的源文件编译成中间文件;
[0017]解析所述中间文件,获取所述中间文件中的函数名称以及函数地址;
[0018]将所述函数地址进行反汇编,提取所述函数名称所对应的特征码。
[0019]可选的,所述获取待检测文件的源码信息的步骤包括:
[0020]根据预设的文件格式,解析待检测文件,获取所述待检测文件的源文件名称集合、函数名称以及函数名称所对应的函数地址集合;
[0021]将所述函数名称所对应的函数地址进行反汇编,获取所述函数的特征码;
[0022]根据所述函数的特征码,通过预设的操作进行处理,获得处理后的待测文件的函数特征码。
[0023]可选的,所述根据预设的文件格式,解析待检测文件,获取所述待检测文件的源文件名称集合、函数名称以及函数名称所对应的函数地址集合的步骤包括:
[0024]根据预设的文件格式,对待检测文件进行解析,获取解析结果;
[0025]根据所述解析结果,通过所述文件格式中的符号表,提取所述待检测文件的源文件名称集合、函数名称以及函数名称所对应的函数地址集合。
[0026]可选的,所述根据所述待检测文件的源码信息,通过所述数据库进行验证,得到验证结果的步骤包括:
[0027]遍历所述待检测文件,获得遍历结果;
[0028]根据所述遍历结果,通过所述数据库中开源组件的源码文件名称进行比对,获得若干个开源项目;
[0029]根据所述若干个开源项目,通过所述待检测文件中的函数名称集合进行验证,获得验证结果;
[0030]根据所述验证结果,通过所述数据库中的处理后的函数特征码,比对所述处理后的待测文件的函数特征码,获得比对结果。
[0031]可选的,所述根据所述若干个开源项目,通过所述待检测文件中的函数名称集合进行验证,获得验证结果的步骤包括:
[0032]根据所述若干个开源项目,获取若干个开源组件中源码文件内的若干个函数名称;
[0033]根据所述若干个函数名称,通过待检测文件中的函数名称集合进行验证,获得验证结果。
[0034]本专利技术实施例还提出了一种组件检测装置,所述组件检测装置包括:
[0035]存储模块,用于将预设的组件库中组件源码的信息存入数据库中;
[0036]获取模块,用于获取待检测文件的源码信息;
[0037]比对模块,用于根据所述待检测文件的源码信息,通过所述数据库进行比对,获得比对结果。
[0038]本专利技术实施例还提出了一种终端设备所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的组件检测程序,所述组件检测程序被所述处理器执行时实现如上所述的组件检测方法的步骤。
[0039]本专利技术实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有组件检测程序,所述组件检测程序被处理器执行时实现如上所述的组件检测方法的步骤。
[0040]本专利技术实施例提出的一种组件检测方法、装置、终端设备以及存储介质,将预设的组件库中的开源组件源码的信息存入数据库中;获取待检测文件的源码信息;根据所述待检测文件的源码信息,通过所述数据库进行比对,获得比对结果。由此,通过比对可以对ELF文件格式进行解析,识别出引用的开源组件,在控制投入成本的前提下,能够将准确率最大化。从而实现了对文件组件的检测,解决了检测成本高以及检测准确率低的问题。
附图说明
[0041]图1为本专利技术组件检测装置所属终端设备的功能模块示意图;
[0042]图2为本专利技术组件检测方法一示例性实施例的流程示意图;
[0043]图3为本专利技术组件检测方法另一示例性实施例的流程示意图;
[0044]图4为本专利技术组件检测方法涉及获取组件信息的流程示意图;
[0045]图5为本专利技术组件检测方法涉及数据库搭建的整体流程示意图;
[0046]图6为本专利技术组件检测方法另一示例性实施例的流程示意图;
[0047]图7为本专利技术组件检测方法涉及获取特征码的示意图;
[0048]图8为本专利技术组件检测方法涉及获取待测文件的源码信息的流程示意图;
[0049]图9为本专利技术组件检测方法另一示例性实施例的流程示意图;
[0050]图10为本专利技术组件检测方法涉及对待测文件进行检测的流程示意图;
[0051]图11为本专利技术组件检测方法涉及验证得到函数名称的流程示意图。
[0052]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0053]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0054]本专利技术实施例的主要解决方案是:根据预设的组件库,获取开源组件源码;根据所述开源组件源码,获取所述开源组件源码的源文件名称、函数名称以及函数名称所对应的特征码;根据所述特征码,通过预设的操作进行处理,获得处理后的函数特征码;将所述开源组件源码的源文件名称、函数名称以及处理后的函数特征码存入数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种组件检测方法,其特征在于,所述组件检测方法包括以下步骤:将预设的组件库中的开源组件源码的信息存入数据库中;获取待检测文件的源码信息;根据所述待检测文件的源码信息,通过所述数据库进行比对,获得比对结果。2.根据权利要求1所述的组件检测方法,其特征在于,所述将预设的组件库中的开源组件源码的信息存入数据库中的步骤包括:根据预设的组件库,获取开源组件源码;根据所述开源组件源码,获取所述开源组件源码的源文件名称、函数名称以及函数名称所对应的特征码;根据所述特征码,通过预设的操作进行处理,获得处理后的函数特征码;将所述开源组件源码的源文件名称、函数名称以及处理后的函数特征码存入数据库中。3.根据权利要求2所述的组件检测方法,其特征在于,所述根据所述开源组件源码,获取所述开源组件源码的源文件名称、函数名称以及函数名称所对应的特征码的步骤包括:根据所述开源组件源码,通过预设的编写程序将所述开源组件源码中的源文件编译成中间文件;解析所述中间文件,获取所述中间文件中的函数名称以及函数地址;将所述函数地址进行反汇编,提取所述函数名称所对应的特征码。4.根据权利要求1所述的组件检测方法,其特征在于,所述获取待检测文件的源码信息的步骤包括:根据预设的文件格式,解析待检测文件,获取所述待检测文件的源文件名称集合、函数名称以及函数名称所对应的函数地址集合;将所述函数名称所对应的函数地址进行反汇编,获取所述函数的特征码;根据所述函数的特征码,通过预设的操作进行处理,获得处理后的待测文件的函数特征码。5.根据权利要求4所述的组件检测方法,其特征在于,所述根据预设的文件格式,解析待检测文件,获取所述待检测文件的源文件名称集合、函数名称以及函数名称所对应的函数地址集合的步骤包括:根据预设的文件格式,对待检测文件进行解析,获取解析结果;根据所述解析结...

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

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

1