前所未见Hook没效果?

分析了一个第三方应用的APP,oc方法 hook,可能是那个类涉及的比较核心,反正hook他那个类Hook不上,但是他的其他类可以,排除没有调用hook的方法,因为我hook他类下其他很多方法,我都主动调用也没有被hook成功的效果,我怀疑是不是他替换c函数的一些交换或获取method方法,导致hook他某类失败,但是我的库是提前执行的,理论上不会有影响吧,我是搞不懂他是怎么做到的?有谁遇到过吗?

:thinking:
提前执行不会被后来的Hook掉吗?

后者是可以替换掉,但是苹果应用商店的不能使用交换相关函数吧,如果他真的使用交换,那估计就是这个问题了

可以用啊

好的 感谢

貌似某音就有这种情况。

objc_direct

@interface MethodCannotHook : NSObject

  • (void)cannotHookMethod attribute((objc_direct));

  • (void)canHookMethod;

@end

在方法声明后边加上” attribute((objc_direct)) ”,则方法调用在编译时就确定,不会在运行时被hook。

1 个赞