[发明专利]补丁处理的方法和设备以及生成补丁的方法和设备有效
申请号: | 201510934339.3 | 申请日: | 2015-12-15 |
公开(公告)号: | CN105573788B | 公开(公告)日: | 2019-02-26 |
发明(设计)人: | 赵干;谢江帆;周淼苗;庞立祥 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/658 | 分类号: | G06F8/658 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 补丁 处理 方法 设备 以及 生成 | ||
1.一种补丁处理方法,其特征在于,所述方法包括:
响应于执行到第一函数中的第一调用指令,跳转到第二函数;
响应于执行到所述第二函数的第一条指令,跳转到补丁文件的中间代码;
按照所述中间代码的指令,将所述第一函数的表地址和所述第一调用指令的返回地址保存到所述补丁文件的预留空间,所述第一函数的表地址为所述第一函数的表结构的地址,所述第一函数的表结构用于记录所述第一函数的调用对象的地址;
响应于执行到所述中间代码中的第二调用指令,跳转到所述补丁文件的第三函数,所述第三函数用于对所述第二函数进行更新;
响应于完成所述第三函数的执行,按照所述第二调用指令的返回地址,返回所述中间代码;
按照所述中间代码的指令,从所述预留空间中恢复所述第一函数的表地址和所述第一调用指令的返回地址;
按照所述第一调用指令的返回地址,返回所述第一函数。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述补丁文件,并按照所述补丁文件获取所述第二函数的地址;
根据所述第二函数的地址,在所述第二函数中添加用于跳转到所述中间代码的指令,作为所述第二函数的第一条指令。
3.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述返回所述第一函数,监测所述第一函数的执行是否出现故障;
当监测到所述第一函数的执行出现故障时,删除所述第二函数中用于跳转到所述中间代码的第一条指令。
4.一种生成补丁文件的方法,其特征在于,所述方法包括:
获取OBJ格式的补丁文件,并根据所述OBJ格式的补丁文件生成PAT格式的补丁文件;
其中,所述PAT格式的补丁文件包括第三函数、中间代码和预留空间;
所述第三函数用于对第二函数进行更新,所述第二函数为第一函数的调用对象;
所述中间代码用于在所述第二函数跳转到所述中间代码时保存所述第一函数的表地址和第一调用指令的返回地址到所述预留空间以及在所述第三函数返回所述中间代码时从所述预留空间恢复所述第一函数的表地址和所述第一调用指令的返回地址,所述第一函数的表地址为所述第一函数的表结构的地址,所述第一函数的表结构用于记录所述第一函数的调用对象的地址,所述第一调用指令为所述第一函数中用于调用所述第二函数的指令;
所述预留空间用于在所述中间代码调用所述第三函数的过程中存储所述第一函数的表地址和所述第一调用指令的返回地址。
5.根据权利要求4所述的方法,其特征在于,所述根据所述OBJ格式的补丁文件生成PAT格式的补丁文件,包括:
对所述OBJ格式的补丁文件进行所述第三函数的重定位,并在所述OBJ格式的补丁文件中添加所述预留空间。
6.一种补丁处理设备,其特征在于,所述设备包括:
第一跳转单元,用于响应于执行到第一函数中的第一调用指令,跳转到第二函数;
第二跳转单元,用于响应于执行到所述第二函数的第一条指令,跳转到补丁文件的中间代码;
保存单元,用于按照所述中间代码的指令,将所述第一函数的表地址和所述第一调用指令的返回地址保存到所述补丁文件的预留空间,所述第一函数的表地址为所述第一函数的表结构的地址,所述第一函数的表结构用于记录所述第一函数的调用对象的地址;
第三跳转单元,用于响应于执行到所述中间代码中的第二调用指令,跳转到所述补丁文件的第三函数,所述第三函数用于对所述第二函数进行更新;
第一返回单元,用于响应于完成所述第三函数的执行,按照所述第二调用指令的返回地址,返回所述中间代码;
恢复单元,用于按照所述中间代码的指令,从所述预留空间中恢复所述第一函数的表地址和所述第一调用指令的返回地址;
第二返回单元,用于按照所述第一调用指令的返回地址,返回所述第一函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510934339.3/1.html,转载请声明来源钻瓜专利网。