[发明专利]函数的执行方法、装置、设备及存储介质在审
申请号: | 202010843800.5 | 申请日: | 2020-08-20 |
公开(公告)号: | CN112035278A | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 高少东 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京远智汇知识产权代理有限公司 11659 | 代理人: | 范坤坤 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数 执行 方法 装置 设备 存储 介质 | ||
本公开实施例公开了一种函数的执行方法、装置、设备及存储介质。该方法包括:目标对象在接收到标准hook消息时,将标准hook消息发送给消息处理方法;目标对象通过消息处理方法,将标准hook消息转发至主动方法或与主动方法匹配的被动方法,以触发执行主动方法或被动方法;其中,目标对象与消息处理方法、主动方法和被动方法唯一关联,属于同一类的不同对象针对同一被动方法对应不同的主动方法,且主动方法执行完成后,生成并发送与被动方法匹配的标准hook消息。本公开实施例可以对指定方法实现hook,并能限制hook方法的作用范围。
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种函数的执行方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,钩子(hook)技术在日常iOS开发过程中使用的越来越频繁。现有技术中,对一个方法实现hook时,需要在该方法对应的类的分类中定义一个与被hook方法的方法签名相同的新方法,然后用新方法替换被hook的方法。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:如果同一个类的两个分类中分别定义了同一个方法的hook方法,即两个hook方法同名,则这两个hook方法之间会相互覆盖,只有最后一个被编译的hook方法会生效;并且,这种hook方式是对全局生效的,即被hook方法对应的类的所有实例都会被影响。
公开内容
本公开实施例提供一种函数的执行方法、装置、设备及存储介质,可以对指定方法实现hook并能限制hook方法的作用范围。
主动方面,本公开实施例提供了一种函数的执行方法,包括:
目标对象在接收到标准hook消息时,将标准hook消息发送给消息处理方法;
目标对象通过消息处理方法,将标准hook消息转发至主动方法或与主动方法匹配的被动方法,以触发执行主动方法或被动方法;
其中,目标对象与消息处理方法、主动方法和被动方法唯一关联,属于同一类的不同对象针对同一被动方法对应不同的主动方法,且主动方法执行完成后,生成并发送与被动方法匹配的标准hook消息。
进一步的,目标对象与目标临时对象唯一关联,目标临时对象的方法列表中包括:第一方法选择器、第二方法选择器以及第三方法选择器;属于同一类的不同对象针对同一被动方法对应相同的第一方法选择器的名称,且第一方法选择器的名称与标准hook消息相匹配;
第一方法选择器中的指针为空指针,空指针用于触发消息转发操作,消息转发操作与消息处理方法关联;第二方法选择器中的指针指向主动方法,第三方法选择器中的指针指向被动方法。
进一步的,目标对象将标准hook消息发送给消息处理方法,包括:
目标对象根据标准hook消息,在目标临时对象中定位与标准hook消息匹配的第一方法选择器,并将标准hook消息发送至第一方法选择器;
目标对象通过第一方法选择器确定指针为空指针时,触发消息转发操作,并将标准hook消息发送至消息处理方法进行消息转发。
进一步的,目标对象通过消息处理方法,将标准hook消息转发至主动方法或与主动方法匹配的被动方法,包括:
目标对象通过消息处理方法,在标准hook消息中识别方法标识;
目标对象通过消息处理方法,根据方法标识的标识类型,将标准hook消息转发至主动方法或与主动方法匹配的被动方法。
进一步的,目标对象通过消息处理方法,根据方法标识的标识类型,将标准hook消息转发至主动方法,包括:
目标对象通过消息处理方法,在确定方法标识属于外部消息时,将标准hook消息转发至第二方法选择器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010843800.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种环保机械生产用管材截断装置
- 下一篇:一种家用照明灯的触片生产设备