发明名称 动态替换主程序中C/C++函数的方法及装置
摘要 本发明提出一种动态替换主程序中C/C++函数的方法及装置。该方法包括:启动主程序,并加载用于查询和修改内存的替换程序模块;初始化加载的替换程序模块以使替换程序模块先于主程序中的主函数执行,并将主程序中函数的符号表信息保存到内存中;在替换程序模块接收到替换指令之后,替换程序模块根据被替换函数对应的符号表信息确定被替换函数在内存中的映像地址;根据映像地址对被替换函数进行替换。本发明能够实现程序运行时动态地替换和还原函数,程序无需再编译,省时高效,并且避免在替换函数内部间接调用被替换函数出现的死循环现象。
申请公布号 CN103294457A 申请公布日期 2013.09.11
申请号 CN201210047538.9 申请日期 2012.02.27
申请人 百度在线网络技术(北京)有限公司 发明人 禤彪
分类号 G06F9/44(2006.01)I;G06F9/45(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 北京清亦华知识产权代理事务所(普通合伙) 11201 代理人 宋合成
主权项 一种动态替换主程序中C/C++函数的方法,其特征在于,包括以下步骤:启动主程序,并加载用于查询和修改内存的替换程序模块;对加载的所述替换程序模块进行初始化以使所述替换程序模块先于所述主程序中的主函数执行,并将所述主程序中函数的符号表信息保存到内存中;在所述替换程序模块接收到替换指令之后,所述替换程序模块根据被替换函数对应的符号表信息确定所述被替换函数在所述内存中的映像地址;以及根据所述映像地址对所述被替换函数进行替换。
地址 100085 北京市海淀区上地十街10号百度大厦三层