[发明专利]一种应用于Linux系统的热补丁方法和装置在审
申请号: | 202010507481.0 | 申请日: | 2020-06-05 |
公开(公告)号: | CN113760340A | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 张天洋;葛正中;李涛;林坤 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 刘冬亮 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 linux 系统 补丁 方法 装置 | ||
本发明实施例提供了一种应用于Linux系统的热补丁方法和装置,其中的方法包括:在目标代码中确定第一函数;确定所述第一函数对应的第二函数;根据所述第一函数以及所述第二函数,构建所述第一函数对应的结构体,所述结构体中包括所述第二函数的地址指针;将所述结构体加入目标数组;在所述目标代码中修改所述第一函数,修改后的第一函数中包括第一跳转指令和所述结构体在所述目标数组中的偏移量,所述第一跳转指令用于跳转至公共桩函数,所述公共桩函数用于依据所述偏移量确定所述第二函数的地址指针,并执行第二跳转指令,跳转至所述第二函数。本发明实施例可以通过公共桩函数对所述热补丁行为进行实时的动态管理,以提高系统的安全性和稳定性。
技术领域
本发明涉及通信技术领域,尤其涉及一种应用于Linux系统的热补丁方法和装置。
背景技术
随着通信技术的不断发展,通信系统中的软件也越来越复杂,通常一套通信系统由多个不同软件组成,以实现多样的功能,不同软件之间也可能具有复杂的层级结构。因此,针对所述通信系统在线进行功能修复、调试、以及故障定位等业务时,需要耗费大量的时间与精力。
现有技术中为了提高调试效率,缩短故障定位时间,通常会采用热补丁技术,所述热补丁是一种能够在不需要重启当前运行系统的情况下,对所述通信系统代码进行漏洞修复的一些代码。
但是,传统的热补丁技术通常采用直接函数地址替换的方式进行漏洞修复,所述替换过程管理混乱,且只能提供一对一的函数替换功能,因此,现有技术难以对多个函数的修复、调试以及故障定位业务进行统一管理,容易出现错误。
发明内容
本发明实施例提供一种应用于Linux系统的热补丁方法和装置,可以对热补丁行为进行实时的动态管理,以提高系统的安全性和稳定性。
本发明实施例提供了一种应用于Linux系统的热补丁方法,所述方法包括:
在目标代码中确定第一函数;
确定所述第一函数对应的第二函数;
根据所述第一函数以及所述第二函数,构建所述第一函数对应的结构体,所述结构体中包括所述第二函数的地址指针;
将所述结构体加入目标数组;
在所述目标代码中修改所述第一函数,修改后的第一函数中包括第一跳转指令和所述结构体在所述目标数组中的偏移量,所述第一跳转指令用于跳转至公共桩函数,所述公共桩函数用于依据所述偏移量确定所述第二函数的地址指针,并执行第二跳转指令,跳转至所述第二函数。
本发明实施例提供了一种应用于Linux系统的热补丁装置,所述装置包括:
第一确定模块,用于在目标代码中确定第一函数;
第二确定模块,用于确定所述第一函数对应的第二函数;
构建模块,用于根据所述第一函数以及所述第二函数,构建所述第一函数对应的结构体,所述结构体中包括所述第二函数的地址指针;
加入数组模块,用于将所述结构体加入目标数组;
修改模块,用于在所述目标代码中修改所述第一函数,修改后的第一函数中包括第一跳转指令和所述结构体在所述目标数组中的偏移量,所述第一跳转指令用于跳转至公共桩函数,所述公共桩函数用于依据所述偏移量确定所述第二函数的地址指针,并执行第二跳转指令,跳转至所述第二函数。
本发明实施例包括以下优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010507481.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种小区共享频段分配方法和装置
- 下一篇:一种电子设备及其控制方法