[发明专利]一种基于Vxworks系统的动态钩子函数实现方法在审
申请号: | 201910098588.1 | 申请日: | 2019-01-31 |
公开(公告)号: | CN109947414A | 公开(公告)日: | 2019-06-28 |
发明(设计)人: | 肖尚德;王军 | 申请(专利权)人: | 苏州德铂思电子科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/445 |
代理公司: | 苏州慧通知识产权代理事务所(普通合伙) 32239 | 代理人: | 丁秀华 |
地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明揭示了一种基于Vxworks系统的动态钩子函数实现方法,包括以下步骤:S1:在被跟踪函数代码段找到保存和退出函数返回地址的指令,并保存保存和退出函数返回地址的指令;S2:将保存和退出函数返回地址的指令均修改为跳转到钩子函数地址的指令和NOP指令;S3:被跟踪函数执行到保存或退出函数返回地址时,执行跳转到钩子函数地址的指令;S4:在钩子函数返回到被跟踪函数之前,将保存或退出函数返回地址的指令写回被修改时的位置;S5:将钩子函数的返回地址的值减去两条指令的长度;S6:钩子函数返回被跟踪函数,继续从保存或退出函数返回地址的指令开始执行被跟踪函数。本发明的基于Vxworks系统的动态钩子函数实现方法,使得跟踪函数运行灵活、高效、方便。 | ||
搜索关键词: | 钩子函数 函数返回地址 指令 保存 跟踪 退出 跳转 返回地址 函数代码 函数执行 返回 减去 写回 灵活 | ||
【主权项】:
1.一种基于Vxworks系统的动态钩子函数实现方法,其特征在于,其包括以下步骤:S1:在被跟踪函数代码段的入口找到保存函数返回地址的指令,以及在出口找到退出函数返回指令,并保存所述保存函数返回地址的指令和退出函数返回地址的指令;S2:将所述保存函数返回地址的指令和退出函数返回地址的指令均修改为跳转到钩子函数地址的指令和NOP指令;S3:所述被跟踪函数执行到保存函数返回地址或退出函数返回地址时,执行跳转到钩子函数地址的指令,调用钩子函数;S4:在所述钩子函数返回到被跟踪函数之前,将保存的保存函数返回地址的指令或退出函数返回地址的指令写回被修改时的位置;S5:将所述钩子函数的返回地址的值减去两条指令的长度;S6:所述钩子函数返回所述被跟踪函数,继续从所述保存函数返回地址的指令或退出函数返回地址的指令开始执行被跟踪函数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州德铂思电子科技有限公司,未经苏州德铂思电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910098588.1/,转载请声明来源钻瓜专利网。