函数的执行方法、装置、设备及存储介质制造方法及图纸

技术编号:26596925 阅读:49 留言:0更新日期:2020-12-04 21:18
本公开实施例公开了一种函数的执行方法、装置、设备及存储介质。该方法包括:目标对象在接收到标准hook消息时,将标准hook消息发送给消息处理方法;目标对象通过消息处理方法,将标准hook消息转发至主动方法或与主动方法匹配的被动方法,以触发执行主动方法或被动方法;其中,目标对象与消息处理方法、主动方法和被动方法唯一关联,属于同一类的不同对象针对同一被动方法对应不同的主动方法,且主动方法执行完成后,生成并发送与被动方法匹配的标准hook消息。本公开实施例可以对指定方法实现hook,并能限制hook方法的作用范围。

【技术实现步骤摘要】
函数的执行方法、装置、设备及存储介质
本公开实施例涉及计算机
,尤其涉及一种函数的执行方法、装置、设备及存储介质。
技术介绍
随着计算机技术的发展,钩子(hook)技术在日常iOS开发过程中使用的越来越频繁。现有技术中,对一个方法实现hook时,需要在该方法对应的类的分类中定义一个与被hook方法的方法签名相同的新方法,然后用新方法替换被hook的方法。专利技术人在实现本专利技术的过程中,发现现有技术存在如下缺陷:如果同一个类的两个分类中分别定义了同一个方法的hook方法,即两个hook方法同名,则这两个hook方法之间会相互覆盖,只有最后一个被编译的hook方法会生效;并且,这种hook方式是对全局生效的,即被hook方法对应的类的所有实例都会被影响。公开内容本公开实施例提供一种函数的执行方法、装置、设备及存储介质,可以对指定方法实现hook并能限制hook方法的作用范围。主动方面,本公开实施例提供了一种函数的执行方法,包括:目标对象在接收到标准hook消息时,将标准hook消息发送给消息处理方法本文档来自技高网...

【技术保护点】
1.一种函数的执行方法,其特征在于,包括:/n目标对象在接收到标准钩子hook消息时,将标准hook消息发送给消息处理方法;/n目标对象通过消息处理方法,将标准hook消息转发至主动方法或与主动方法匹配的被动方法,以触发执行主动方法或被动方法;/n其中,目标对象与消息处理方法、主动方法和被动方法唯一关联,属于同一类的不同对象针对同一被动方法对应不同的主动方法,且主动方法执行完成后,生成并发送与被动方法匹配的标准hook消息。/n

【技术特征摘要】
1.一种函数的执行方法,其特征在于,包括:
目标对象在接收到标准钩子hook消息时,将标准hook消息发送给消息处理方法;
目标对象通过消息处理方法,将标准hook消息转发至主动方法或与主动方法匹配的被动方法,以触发执行主动方法或被动方法;
其中,目标对象与消息处理方法、主动方法和被动方法唯一关联,属于同一类的不同对象针对同一被动方法对应不同的主动方法,且主动方法执行完成后,生成并发送与被动方法匹配的标准hook消息。


2.根据权利要求1所述的方法,其特征在于:
所述目标对象与目标临时对象唯一关联,所述目标临时对象的方法列表中包括:第一方法选择器、第二方法选择器以及第三方法选择器;属于同一类的不同对象针对同一被动方法对应相同的第一方法选择器的名称,且第一方法选择器的名称与标准hook消息相匹配;
第一方法选择器中的指针为空指针,所述空指针用于触发消息转发操作,所述消息转发操作与所述消息处理方法关联;第二方法选择器中的指针指向所述主动方法,第三方法选择器中的指针指向所述被动方法。


3.根据权利要求2所述的方法,其特征在于,目标对象将标准hook消息发送给消息处理方法,包括:
所述目标对象根据所述标准hook消息,在所述目标临时对象中定位与所述标准hook消息匹配的所述第一方法选择器,并将所述标准hook消息发送至所述第一方法选择器;
所述目标对象通过第一方法选择器确定指针为空指针时,触发消息转发操作,并将所述标准hook消息发送至所述消息处理方法进行消息转发。


4.根据权利要求2所述的方法,其特征在于,目标对象通过消息处理方法,将标准hook消息转发至主动方法或与主动方法匹配的被动方法,包括:
目标对象通过消息处理方法,在所述标准hook消息中识别方法标识;
所述目标对象通过消息处理方法,根据所述方法标识的标识类型,将标准hook消息转发至主动方法或与主动方法匹配的被动方法。


5.根据权利要求4所述的方法,其特征在于,所述目标对象通过消息处理方法,根据所述方法标识的标识类型,将标准hook消息转发至主动方法,包括:
所述目标对象通过消息处理方法,在确定所述方法标识属于外部消息时,将所述标准hook消息转发至所述第二方法选择器;
所述目标对象通过所述第二方法选择器,将所述标准hook消息转发至所述第二方法选择器的指针所指向的所述主动方法,以触发执行主动方法;
所述目标对象通过所述主动方法,在执行完成后,生成并发送与被动方法匹配的标准hook消息。


6.根据权利要求5所述的方法,其特征在于,所述目标对象通过消息处理方法,根据所述方法标识的标识类型,将标准hook消息转发至被动方法,包括:
所述目标对象通过消息处理方法,在确定所述方法标识属于内部消息时,将所述标准hook消息转发至所述...

【专利技术属性】
技术研发人员:高少东
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1