一种二进制反编译中数组数据结构恢复方法及系统

    公开(公告)号:CN108958739A

    公开(公告)日:2018-12-07

    申请号:CN201810573717.3

    申请日:2018-06-06

    Abstract: 本发明提供一种二进制反编译中数组数据结构恢复方法及系统,所述方法包括:S11,对于目标反编译结果中任一非指针变量,若该非指针变量的实际占位大小与该非指针变量的类型对应的占位大小之间的差值大于第一预设阈值,则将该非指针变量作为目标变量;S12,获取目标变量在目标反编译结果中各使用位置对应的第一使用模式,若根据第一使用模式对应的第一权重确定目标变量为数组变量,则对数组变量的数据结构进行恢复。本发明实现了对反编译结果中数组数据结构的自动恢复,且提高了数组数据结构恢复的正确率。

    一种指针修改影响的分析方法和系统

    公开(公告)号:CN107085533A

    公开(公告)日:2017-08-22

    申请号:CN201710189131.2

    申请日:2017-03-27

    Abstract: 本发明提供一种指针修改影响的分析方法和系统,所述方法包括:在程序代码中查找该语句中变量的等价变量,并查找该等价变量所有的定义点,构成分析结果集合;基于定义点、语句以及程序入口的关系,获得对应该定义点的多个路径条件;以及判断所有所述路径条件是否可同时满足,若不可同时满足,则将该定义点从所述分析结果集合中剔除。本发明提高结果的精度,做到了部分路径敏感以及流敏感,使采用该分析算法的静态代码缺陷检测结果更加精确。

    一种代码克隆检测方法、装置、设备、介质及产品

    公开(公告)号:CN119938135A

    公开(公告)日:2025-05-06

    申请号:CN202510442636.X

    申请日:2025-04-10

    Abstract: 本申请公开了一种代码克隆检测方法、装置、设备、介质及产品,涉及深度学习技术领域,该方法包括获取待检测代码库;其中,待检测代码库中包含多个待检测代码片段;确定每个待检测代码片段的哈希值;基于每个待检测代码片段的哈希值,确定高相似度代码片段对集合;其中,高相似度代码片段对集合中包含至少一组高相似度代码片段对;将高相似度代码片段对集合输入至预先训练的基于大语言模型的代码克隆检测模型,得到代码克隆检测模型输出的代码克隆检测结果,本申请可以充分利用大语言模型的能力,避免模型对代码语法表面特征的过度依赖,进而基于对代码片段的语义分析实现对代码功能相似性的准确判断,从而可以提升代码克隆检测的准确性。

    一种混合软件漏洞分析方法和系统

    公开(公告)号:CN117556431B

    公开(公告)日:2024-06-11

    申请号:CN202410047057.0

    申请日:2024-01-12

    Abstract: 本发明涉及静态代码分析技术,具体涉及一种混合软件漏洞分析方法。本发明提供的方法包括:基于混合软件确定统一中间表示IR;基于统一中间表示IR构造数据流表示模型VFG;基于数据流表示模型VFG定位潜在漏洞的植入点和触发点;通过流追踪的方式对漏洞进行分析;混合软件至少包含两种以上的编程语言或者两种以上的代码形式。本发明通过建立统一的中间表示模型,实现对多种编程语言、多种形式代码混合的复杂软件的检测,尤其对于多模块交互的场景,能够弥补传统检测方式的不足,提升漏洞检测的能力,发现软件系统中的深层次问题。

    基于分块的大规模代码静态分析方法和系统

    公开(公告)号:CN115080985B

    公开(公告)日:2022-11-11

    申请号:CN202210887831.X

    申请日:2022-07-27

    Abstract: 本发明涉及一种基于分块的大规模代码静态分析方法和系统。其中方法包括:将大规模工程程序按照工程粒度需求进行分块;针对各块,构建值依赖模型,将块对应的值依赖子图存储到数据库中作持久化保存;分析各块的值依赖子图中的程序漏洞,构建块漏洞表;遍历各块漏洞表,将漏洞表内的漏洞分类为可信漏洞和不可信漏洞;分析不可信漏洞,根据当前值依赖子图中的漏洞与数据库中其他值依赖子图之间的关联性对子图进行拓展,获得根据漏洞完整化的拓展子图;分析所有拓展子图,验证已发现漏洞并检测是否包含新漏洞,将获取的结果与可信漏洞合并后输出。本发明适用于上亿行代码的静态代码分析,可以实现准确有效的分析。

    代码相似性检测方法、装置以及存储介质

    公开(公告)号:CN112579155B

    公开(公告)日:2021-05-18

    申请号:CN202110198641.2

    申请日:2021-02-23

    Abstract: 本发明实施例涉及软件检测领域,公开了一种代码相似性检测方法,主要分为三个阶段,预处理阶段对海量源代码文件进行预处理和特征提取工作,输出相似哈希指纹值;指纹索引阶段则根据上一阶段的结果,采用分段索引策略将指纹切分并重组后存入相似哈希指纹库,建立分段索引便于快速匹配;相似匹配阶段则在对待测工程文件进行处理后生成相似哈希值,根据所述待测工程文件的相似哈希值从所述相似哈希指纹库中分段检索出溯源检测的结果;本发明能够从不同语言常见行的消除这一角度出发来降低行覆盖问题对结果的影响。

    一种基于守卫计算的区间信息分析方法

    公开(公告)号:CN108984843B

    公开(公告)日:2021-02-09

    申请号:CN201810634710.8

    申请日:2018-06-20

    Abstract: 本发明提供一种基于守卫计算的区间信息分析方法,包括:S1,对于值依赖图中任一结点,根据该结点与该结点的任一前驱结点间的守卫条件获取守卫条件对应的条件判断结点;S2,根据条件判断结点的前驱结点的区间信息,计算条件判断结点的区间信息,进一步确认条件判断结点的属性;属性为假、真和可满足中的一种;S3,根据条件判断结点的属性,确认条件判断结点对应的守卫条件的区间信息;S4,根据该结点的各前驱结点的区间信息和该结点与该结点的各前驱结点间的守卫条件的区间信息,获取该结点的区间信息。本发明提供的方法,补偿了值依赖图缺少控制流信息的不足,提高了分析精度。

    C/C++程序中不可达代码的静态检测方法及系统

    公开(公告)号:CN109446066B

    公开(公告)日:2020-11-03

    申请号:CN201811101415.2

    申请日:2018-09-20

    Abstract: 本发明实施例提供一种C/C++程序中不可达代码的静态检测方法及系统,其中,所述方法包括:构建待检测C/C++程序的控制依赖图和值依赖图;在所述值依赖图上进行常量分析,并根据常量分析的结果更新所述控制依赖图;对更新后的所述控制依赖图中所有守卫结点的约束表达式的可满足性进行求解;若存在不可满足的约束表达式,则从所述控制依赖图中获取与所述不可满足的约束表达式相对应的守卫结点的所有直接和间接后继结点所对应的程序代码。本发明可以检测千万行级的代码,检测速度可达到每小时百万行以上,并且检测精度超过利用符号执行技术的检测精度,具有较低的误报率和漏报率。

    一种基于值依赖图的污染数据分析方法、系统与电子设备

    公开(公告)号:CN109002712B

    公开(公告)日:2020-11-03

    申请号:CN201810650652.8

    申请日:2018-06-22

    Abstract: 本发明提供一种基于值依赖图的污染数据分析方法、系统与电子设备,所述方法包括:S1,将目标计算机程序转换为守卫值依赖图,并通过自定义外部输入函数摘要和外部输入函数摘要用户定义接口,在所述守卫值依赖图上确定多个污染传播起始点;S2,基于污染传播规则、用户自定义漏洞特征的节点特征以及所述污染传播起始点,构成污染传播图;S3,基于所述污染传播图,通过对各所述污染传播起始点进行向下的广搜计算,获取对应的污染传播路径和每一条所述污染传播路径的污染类型。本发明能够清晰且便利的表达污染数据传播范围、传播关系和每一条路径的污染传播类型,保证污染数据传播范围的全面性。

Patent Agency Ranking