买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明提供一种面向二进制程序开源组件库的检测方法,涉及开源组件识别技术领域,本发明提供的方法包括:通过对不同类别开源组件集合中的不同版本开源组件的指纹特征提取,更新各开源组件集合对应的权重值,以及各开源组件对应的权重值;采用更新后的权重值,对待分类开源组件进行版本识别;本发明能够提高对待分类开源组件版本识别的准确性,并提高检测方法整体的运行效率。
主权项:1.一种面向二进制程序开源组件库的检测方法,其特征在于,所述方法具体包括如下步骤:S1.获取多个不同类别不同版本的开源组件;所述开源组件为二进制程序文件;每个类别开源组件集合包含多个不同版本的开源组件;所述步骤S1具体包括如下步骤:S11.从预设的开源组件库中获取多个不同类别的开源组件集合{},并从每个开源组件集合中获取多个不同版本的开源组件;其中,为第i个类别的开源组件集合;n为开源组件库中的开源组件集合的类别总数;其中,同一类别的开源组件集合包括多个不同版本的开源组件;S12.针对一个开源组件集合中的多个不同版本的开源组件{},获取处于中间位置的开源组件;其中,为开源组件集合中的第j个版本的开源组件;m为开源组件集合中的版本个数;其中,;其中,开源组件{}按照版本的更新时间从早到晚排序;S13.将开源组件二进制程序文件中的二进制代码平均分成X份,形成X个二进制代码区间;S14.在每个所述二进制代码区间内随机获取预设长度L的二进制代码片段,形成二进制代码片段集合{};其中,为第v个二进制代码区间内随机获取的预设长度L的二进制代码片段;S15.针对开源组件{}中的一个开源组件,将所述开源组件的二进制程序文件中的二进制代码平均分成X份,形成X个二进制代码区间{};其中且;为第v个二进制代码区间;;S16.遍历二进制代码区间,当所述中存在二进制代码片段时,将重复值C加1;当所述中不存在二进制代码片段时,不调整重复值C;S17.针对二进制代码区间{}中的每个二进制代码区间,均执行步骤S16,执行完毕后获得重复值C;计算开源组件与开源组件的二进制相似度数值;S18.针对开源组件{}中的每一个开源组件,重复执行步骤S15至步骤S17,获得{}中的每一个开源组件与开源组件的二进制相似度数值{,};将{,}按照数值从小到大排序,选取数值最小的前Y个二进制相似度数值,并获取该前Y个二进制相似度数值对应的多个开源组件,将该多个开源组件组成该类别的开源组件集合中被选定的开源组件集合={};其中,为第Y个被选定的开源组件;S19.针对多个不同类别的开源组件集合{}中的每类开源组件集合,均执行步骤S12至步骤S18,获得针对每类开源组件集合对应的被选定的开源组件集合{};S2.提取多个开源组件中每个开源组件的指纹特征;S3.根据所述指纹特征,调整每个类别开源组件集合的权重值以及每个开源组件对应的权重值;S4.获取待分类开源组件的二进制程序文件;S5.根据所述二进制程序文件,提取所述待分类开源组件的指纹特征;S6.根据步骤S3中经调整后的权重值,计算待分类开源组件与各类别开源组件集合中各开源组件的相似度;S7.根据所述相似度对所述待分类开源组件进行版本识别。
全文数据:
权利要求:
百度查询: 中汽数据(天津)有限公司 一种面向二进制程序开源组件库的检测方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。