一种应用于Linux系统的热补丁方法和装置制造方法及图纸

技术编号:31227400 阅读:32 留言:0更新日期:2021-12-08 09:36
本发明专利技术实施例提供了一种应用于Linux系统的热补丁方法和装置,其中的方法包括:在目标代码中确定第一函数;确定所述第一函数对应的第二函数;根据所述第一函数以及所述第二函数,构建所述第一函数对应的结构体,所述结构体中包括所述第二函数的地址指针;将所述结构体加入目标数组;在所述目标代码中修改所述第一函数,修改后的第一函数中包括第一跳转指令和所述结构体在所述目标数组中的偏移量,所述第一跳转指令用于跳转至公共桩函数,所述公共桩函数用于依据所述偏移量确定所述第二函数的地址指针,并执行第二跳转指令,跳转至所述第二函数。本发明专利技术实施例可以通过公共桩函数对所述热补丁行为进行实时的动态管理,以提高系统的安全性和稳定性。统的安全性和稳定性。统的安全性和稳定性。

【技术实现步骤摘要】
一种应用于Linux系统的热补丁方法和装置


[0001]本专利技术涉及通信
,尤其涉及一种应用于Linux系统的热补丁方法和装置。

技术介绍

[0002]随着通信技术的不断发展,通信系统中的软件也越来越复杂,通常一套通信系统由多个不同软件组成,以实现多样的功能,不同软件之间也可能具有复杂的层级结构。因此,针对所述通信系统在线进行功能修复、调试、以及故障定位等业务时,需要耗费大量的时间与精力。
[0003]现有技术中为了提高调试效率,缩短故障定位时间,通常会采用热补丁技术,所述热补丁是一种能够在不需要重启当前运行系统的情况下,对所述通信系统代码进行漏洞修复的一些代码。
[0004]但是,传统的热补丁技术通常采用直接函数地址替换的方式进行漏洞修复,所述替换过程管理混乱,且只能提供一对一的函数替换功能,因此,现有技术难以对多个函数的修复、调试以及故障定位业务进行统一管理,容易出现错误。

技术实现思路

[0005]本专利技术实施例提供一种应用于Linux系统的热补丁方法和装置,可以对热补丁行为进行实时的动态管理,以本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种应用于Linux系统的热补丁方法,其特征在于,所述方法包括:在目标代码中确定第一函数;确定所述第一函数对应的第二函数;根据所述第一函数以及所述第二函数,构建所述第一函数对应的结构体,所述结构体中包括所述第二函数的地址指针;将所述结构体加入目标数组;在所述目标代码中修改所述第一函数,修改后的第一函数中包括第一跳转指令和所述结构体在所述目标数组中的偏移量,所述第一跳转指令用于跳转至公共桩函数,所述公共桩函数用于依据所述偏移量确定所述第二函数的地址指针,并执行第二跳转指令,跳转至所述第二函数。2.根据权利要求1所述的方法,其特征在于,所述在所述目标代码中修改所述第一函数之后,所述方法还包括:执行所述目标代码;当执行到所述目标代码中的所述修改后的第一函数时,响应于所述第一跳转指令,跳转至公共桩函数;通过所述公共桩函数,基于所述偏移量,确定所述第二函数的地址指针;根据所述地址指针,执行第二跳转指令,跳转至所述第二函数。3.根据权利要求2所述的方法,其特征在于,所述基于所述偏移量,确定所述第二函数的地址指针,包括:基于所述偏移量,在所述目标数组中读取所述第一函数对应的结构体;从所述第一函数对应的结构体中,获取所述第二函数的地址指针。4.根据权利要求2所述的方法,其特征在于,所述确定所述第一函数对应的第二函数,包括:确定所述第一函数对应的多个第二函数;所述根据所述第一函数以及所述第二函数,构建所述第一函数对应的结构体,包括:根据所述第一函数以及所述多个第二函数,构建所述第一函数对应的多个结构体,每个结构体中包括对应的第二函数的地址指针;所述将所述结构体加入目标数组,包括:将所述第一函数对应的多个结构体加入目标数组;所述基于所述偏移量,确定所述第二函数的地址指针,包括:基于所述偏移量,在所述多个第二函数中确定目标第二函数的地址指针。5.根据权利要求1所述的方法,其特征在于,所述在所述目标代码中修改所述第一函数之前,所述方法还包括:获取所述第一函数对应内存的读写权限。6.根据权利要求1所述的方法,其特征在于,所述Linux系统应用于5G基站设备。7.一种应用于Linux系统的热补丁装置,其特征在于,所述装置包括:第一确定模块,用于在目标代码中确定第一函数;第二确定模块,用于确定所述第一函数对应的第二函数;构建模块,用于根据所述第一函数以及所述第二函数,构建所述第一函数对应的结构<...

【专利技术属性】
技术研发人员:张天洋葛正中李涛林坤
申请(专利权)人:大唐移动通信设备有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1