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

    公开(公告)号:CN108958739B

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

    申请号:CN201810573717.3

    申请日:2018-06-06

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

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

    公开(公告)号:CN112579155A

    公开(公告)日:2021-03-30

    申请号:CN202110198641.2

    申请日:2021-02-23

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

    一种基于文件依赖关系的高效程序解析方法和系统

    公开(公告)号:CN108549535B

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

    申请号:CN201810218332.5

    申请日:2018-03-16

    Abstract: 本发明提供了一种基于文件依赖关系的高效程序解析方法和系统,该方法包括:S1,对源文件进行分割处理,获取对应的预处理单元集合;S2,对预处理单元集合中的每个预处理单元执行以下处理:若确认预处理单元的类型为预处理指令中的文件包含指令,则提取预处理单元中的头文件;若确认存在通过预先解析头文件获取到的抽象语法树,则将头文件的抽象语法树链接至源文件的抽象语法树;若确认不存在通过预先解析头文件获取到的抽象语法树,则将头文件作为源文件执行步骤S1和S2以对头文件进行解析。本发明判断头文件是否被预先解析,将预先解析得到的抽象语法树链接至源文件的抽象语法树,避免相同头文件的重复解析,减少了程序解析时间。

    一种基于路径追踪的漏洞检测方法及系统

    公开(公告)号:CN109063483A

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

    申请号:CN201810643006.9

    申请日:2018-06-21

    Abstract: 本发明提供一种基于路径追踪的漏洞检测方法及系统,其中方法包括:对于当前测试用例,获取当前测试用例在待检测程序中运行时产生的第一运行路径;将第一运行路径与预设漏洞路径进行匹配,若第一运行路径与预设漏洞路径完全匹配,则根据当前测试用例检测待检测程序中的漏洞。该方法及系统以预设漏洞路径为标准,当且仅当某一个当前测试用例在待检测程序中运行时产生的第一运行路径与预设漏洞路径完全匹配时,才确定该当前测试用例为能够触发待检测程序中漏洞的测试用例,最终确定的测试用例能够有效检测出待检测程序中的漏洞,克服了现有的模糊测试工具在进行程序漏洞检测时难以确保有效检测出漏洞的问题,一定程度上提高了漏洞检测的效率。

    一种基于文件依赖关系的高效程序解析方法和系统

    公开(公告)号:CN108549535A

    公开(公告)日:2018-09-18

    申请号:CN201810218332.5

    申请日:2018-03-16

    Abstract: 本发明提供了一种基于文件依赖关系的高效程序解析方法和系统,该方法包括:S1,对源文件进行分割处理,获取对应的预处理单元集合;S2,对预处理单元集合中的每个预处理单元执行以下处理:若确认预处理单元的类型为预处理指令中的文件包含指令,则提取预处理单元中的头文件;若确认存在通过预先解析头文件获取到的抽象语法树,则将头文件的抽象语法树链接至源文件的抽象语法树;若确认不存在通过预先解析头文件获取到的抽象语法树,则将头文件作为源文件执行步骤S1和S2以对头文件进行解析。本发明判断头文件是否被预先解析,将预先解析得到的抽象语法树链接至源文件的抽象语法树,避免相同头文件的重复解析,减少了程序解析时间。

    一种漏洞和软件对齐的方法、装置以及存储介质

    公开(公告)号:CN112579476B

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

    申请号:CN202110198625.3

    申请日:2021-02-23

    Abstract: 本发明实施例涉及软件测试领域,公开了一种漏洞和软件对齐的方法、装置以及存储介质,包括:抓取安全漏洞发布网站发布的漏洞信息,建立公开漏洞资源数据库;建立包含公开漏洞的软件信息数据库;以 的键值对为关键词,在指定网站范围内进行搜索,将对应键值对的搜索结果插入软件信息数据库;根据上一步得到的软件信息数据库进行过滤,筛选其中符合对齐要求的软件信息并设置为可信,标识其为对齐完成数据;每次更新漏洞数据库时查找并更新软件信息数据库;本发明基于搜索引擎的庞大搜索量所训练的推荐算法,能够获得较为准确的开源软件的源代码仓库地址,或者闭源软件的二进制下载链接。

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

    公开(公告)号:CN107085533B

    公开(公告)日:2019-09-06

    申请号:CN201710189131.2

    申请日:2017-03-27

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

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

    公开(公告)号:CN109446066A

    公开(公告)日:2019-03-08

    申请号:CN201811101415.2

    申请日:2018-09-20

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

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

    公开(公告)号:CN108958739A

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

    申请号:CN201810573717.3

    申请日:2018-06-06

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

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

    公开(公告)号:CN107085533A

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

    申请号:CN201710189131.2

    申请日:2017-03-27

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

Patent Agency Ranking