发明名称 在线补丁的激活方法、装置及系统
摘要 本发明实施例公开了一种在线补丁的激活方法、装置及系统,其中,所述方法包括:定位补丁函数的地址和待打补丁函数的入口地址;基于所述补丁函数的地址和所述待打补丁函数的入口地址,在中间区写入用于跳转到所述补丁函数的长跳转指令,其中所述中间区为处于待打补丁函数入口位置前或后,且能放置至少一条长跳转指令的存储空间;将待打补丁函数入口位置处的指令修改为跳转到所述中间区的短跳转指令,使得所述短跳转指令被执行后,跳转到所述中间区,通过中间区中指令的执行跳转到所述补丁函数执行。通过本发明实施例,从而提高应用软件在线补丁激活时的安全性和可靠性。
申请公布号 CN103218262A 申请公布日期 2013.07.24
申请号 CN201310157498.8 申请日期 2010.02.11
申请人 华为技术有限公司 发明人 余加强;郑伟
分类号 G06F9/48(2006.01)I;G06F9/45(2006.01)I 主分类号 G06F9/48(2006.01)I
代理机构 代理人
主权项 一种在线补丁激活方法,其特征在于,包括:在待打补丁程序编译时,在所述程序的每个函数入口位置前或后预留中间区;定位补丁函数的地址和待打补丁函数的入口地址;基于所述补丁函数的地址和所述待打补丁函数的入口地址,在所述中间区写入用于跳转到所述补丁函数的长跳转指令,其中所述中间区为处于待打补丁函数入口位置前或后,且能放置至少一条长跳转指令的存储空间;将待打补丁函数入口位置处的指令修改为跳转到所述中间区的短跳转指令,使得所述短跳转指令被执行后,跳转到所述中间区,通过所述中间区指令的执行跳转到所述补丁函数执行;其中,所述在待打补丁程序编译时,在所述程序的每个函数入口位置前或后预留所述中间区的步骤,包括:将待打补丁程序的源文件编译生成汇编文件后,查找所述汇编文件中表示函数的关键字字符串;在找到的表示函数的关键字字符串所指示的函数入口位置的前或后,插入指定字节数的初始指令以预留中间区;其中,所述指定字节数表示所述中间区的大小;对插入有所述初始指令的汇编文件重新编译生成新的汇编文件,并将新的汇编文件编译生成目标文件,由多个目标文件链接生成待打补丁程序的可执行文件。
地址 518129 广东省深圳市龙岗区坂田华为总部办公楼