[发明专利]一种检测补丁包冲突的方法及装置有效
申请号: | 201711311900.8 | 申请日: | 2017-12-11 |
公开(公告)号: | CN107992749B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 刘天;张建新 | 申请(专利权)人: | 北京时之砂科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 100015 北京市朝阳区酒仙桥*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 检测 补丁包 冲突 方法 装置 | ||
1.一种检测补丁包冲突的方法,其特征在于,所述方法包括:
获得第一补丁包及其对应的第一函数调用表,其中,第一函数调用表用于表征第一补丁包所依赖的函数的特征和修改的函数的特征;
将所述第一函数调用表与预先存储的第二函数调用表进行匹配,其中,所述第二函数调用表用于表征第二补丁包所依赖的函数的特征和修改的函数的特征;
基于匹配结果,确定所述第一补丁包与所述第二补丁包之间是否存在冲突;
所述基于匹配结果,确定所述第一补丁包与所述第二补丁包之间是否存在冲突,包括:
如果所述匹配结果表明所述第一补丁包与所述第二补丁包互相不影响运行,确定所述第一补丁包与所述第二补丁包之间不存在冲突;否则,确定所述第一补丁包与所述第二补丁包之间存在冲突。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一函数调用表与预先存储的第二函数调用表进行匹配,包括:
通过将所述第一函数调用表中各个函数的函数名与所述第二函数调用表中各个函数的函数名进行比对,判断所述第一函数调用表与所述第二函数调用表之间是否存在函数名相同的函数;
如果所述第一函数调用表与所述第二函数调用表之间不存在函数名相同的函数,确定所述第一补丁包与所述第二补丁包互相不影响运行。
3.根据权利要求2所述的方法,其特征在于,在所述判断所述第一函数调用表与所述第二函数调用表之间是否存在函数名相同的函数之后,所述方法还包括:
如果所述第一函数调用表与所述第二函数调用表之间存在函数名相同的函数,将所述函数名对应的函数,确定为目标函数;
从所述第一函数调用表中,确定所述目标函数对应的第一特征,其中,所述第一特征为返回值类型、参数个数和参数类型;
从所述第二函数调用表中,确定所述目标函数对应的第二特征,其中,所述第二特征为返回值类型、参数个数和参数类型;
判断所述第一特征与所述第二特征是否相同;
如果所述第一特征与所述第二特征是相同的,确定所述第一补丁包与所述第二补丁包互相不影响运行。
4.根据权利要求3所述的方法,其特征在于,在所述判断所述第一特征与所述第二特征是否相同之后,所述方法还包括:
如果所述第一特征与所述第二特征是不相同的,从所述第一函数调用表中,获取所述目标函数的第一属性,其中,所述第一属性为依赖的函数或者修改的函数;
从所述第二函数调用表中,获取所述目标函数的第二属性,其中,所述第二属性为依赖的函数或者修改的函数;
判断所述第一属性和第二属性是否相同;
如果所述第一属性与所述第二属性相同,确定所述第一补丁包与所述第二补丁包互相不影响运行;否则,确定所述第一补丁包与所述第二补丁包互相影响运行。
5.根据权利要求1所述的方法,其特征在于,在所述确定所述第一补丁包与所述第二补丁包之间不存在冲突之后,所述方法还包括:
获得补丁加载指令;
执行所述补丁加载指令,将所述第一补丁包加载至内核中,并将所述第一函数调用表添加至所述第二函数调用表中,获得更新后的第二函数调用表。
6.根据权利要求1所述的方法,其特征在于,所述获得第一补丁包对应的第一函数调用表,包括:
获取所述第一补丁包的源代码;
对所述第一补丁包的源代码进行分析,确定所述第一补丁包所依赖的函数的特征,并确定所述第一补丁包所修改的函数的特征;
将所述第一补丁包所依赖的函数的特征和所述第一补丁包所修改的函数的特征,存储至所述第一函数调用表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时之砂科技有限公司,未经北京时之砂科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711311900.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件控制方法和装置
- 下一篇:病毒文件识别方法和装置