[发明专利]一种补丁实现方法、装置、嵌入式系统及存储介质在审
申请号: | 202210539897.X | 申请日: | 2022-05-17 |
公开(公告)号: | CN114942779A | 公开(公告)日: | 2022-08-26 |
发明(设计)人: | 韦韧;刘达 | 申请(专利权)人: | 重庆物奇微电子有限公司;上海物骐微电子有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 蒋姗 |
地址: | 401120 重庆市渝*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 补丁 实现 方法 装置 嵌入式 系统 存储 介质 | ||
1.一种补丁实现方法,其特征在于,包括:
获取并存储与目标函数对应的补丁函数;所述目标函数的函数入口处设置有跳转操作指令;所述跳转操作指令用于在接收到针对所述目标函数的执行指令时,跳转到与所述目标函数对应的内存变量中的地址,以执行与所述地址对应的函数;
将所述内存变量中的地址修改为指向所述补丁函数的地址。
2.如权利要求1所述的补丁实现方法,其特征在于,在所述获取并存储与目标函数对应的补丁函数之前,所述方法还包括:
获取源程序;
从所述源程序中确定待打补丁的函数;
在所述待打补丁的函数的函数入口处生成空操作指令;
针对所述待打补丁的函数生成对应的跳转操作指令;
将所述空操作指令替换为对应的所述跳转操作指令得到所述目标函数。
3.如权利要求2所述的补丁实现方法,其特征在于,所述在所述待打补丁的函数的函数入口处生成空操作指令,包括:
在对所述源程序进行编译的过程中,通过编译工具在所述待打补丁的函数的函数入口处生成空操作指令。
4.如权利要求2所述的补丁实现方法,其特征在于,所述跳转操作指令用于在接收到针对所述目标函数的执行指令时,将与所述目标函数对应的内存变量中的地址加载到临时寄存器中,并跳转到所述临时寄存器所指向的地址。
5.如权利要求4所述的补丁实现方法,其特征在于,所述跳转操作指令的功能由一条扩展操作指令实现;所述扩展操作指令包括内存变量标识信息、寄存器标识信息以及操作码信息,所述扩展操作指令用于:从与内存变量地址对应的内存变量中,加载地址到所述寄存器标识信息对应的临时寄存器,并跳转到该临时寄存器所指向的地址;所述内存变量地址为根据对应的偏移地址以及基地址寄存器中的预设地址计算得到的地址,所述偏移地址为根据所述内存变量标识信息计算得到的地址。
6.如权利要求1所述的补丁实现方法,其特征在于,所述目标函数为预先设置在只读存储器中的函数。
7.如权利要求1-6任一项所述的补丁实现方法,其特征在于,所述获取并存储与目标函数对应的补丁函数,包括:
获取与目标函数对应的补丁函数,并将所述补丁函数存入数据可修改的存储器中。
8.如权利要求7所述的补丁实现方法,其特征在于,在将所述内存变量中的地址修改为指向所述补丁函数的地址之后,所述方法还包括:
获取与所述目标函数对应的新补丁函数;
将所述新补丁函数存入所述数据可修改的存储器中;
当所述新补丁函数在所述数据可修改的存储器中的起始地址与原始的所述补丁函数在所述数据可修改的存储器中的起始地址不同时,将所述内存变量中的地址修改为指向所述新补丁函数的地址。
9.如权利要求8所述的补丁实现方法,其特征在于,所述将所述新补丁函数存入所述数据可修改的存储器中,包括:
在确定所述新补丁函数所需占用的内存空间大小小于等于原始的所述补丁函数占用的内存空间大小时,从所述数据可修改的存储器中删除原始的所述补丁函数,并将所述新补丁函数存入原始的所述补丁函数的位置上;所述新补丁函数在所述数据可修改的存储器中的起始地址与原始的所述补丁函数在所述数据可修改的存储器中的起始地址相同;
在确定所述新补丁函数所需占用的内存空间大小大于原始的所述补丁函数占用的内存空间大小时,将所述新补丁函数存入可容纳所述新补丁函数的空闲空间,所述空闲空间为所述数据可修改的存储器中的空闲存储空间。
10.一种补丁实现装置,其特征在于,包括:
获取存储模块,用于获取并存储与目标函数对应的补丁函数;所述目标函数为函数入口处设置有跳转操作指令的待打补的函数;所述跳转操作指令用于在所述目标函数接收到执行指令时,控制跳转到与所述目标函数对应的内存变量中的地址,以执行与所述地址对应的函数;
修改模块,用于将所述内存变量中的地址修改为指向所述补丁函数的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆物奇微电子有限公司;上海物骐微电子有限公司,未经重庆物奇微电子有限公司;上海物骐微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210539897.X/1.html,转载请声明来源钻瓜专利网。