swift hook

我按照这篇文章# Hooking Swift methods in Theos
进行 hook 但是不成功 闪退 MSFindSymbol
尝试修改__T014HookExampleApp14ViewControllerC14randomFunctionyyF这个字符串都么有效果 求大佬指点一下
机型为 x 14.2 已越狱

nm HookExampleApp
T _$s14HookExampleApp14ViewControllerC14randomFunctionyyF

- (void)viewDidLoad {
    %orig;
    NSLog(@"VIEW DID LOAD");
    void *symbol = MSFindSymbol(NULL, "__T014HookExampleApp14ViewControllerC14randomFunctionyyF");
   ((void (*)(void)) symbol)();
}

Hook OC会闪退吗

oc 没问题 去掉下面的symbol 就不会闪退 log VIEW DID LOAD 也能打印

我今天刚好也看了这篇文章,但是没有写出那个函数hook,也不知道这种方法可不可行,坐等后续

http://www.cydiasubstrate.com/api/c/MSFindSymbol/
官网上没看到 相关的 hook swift(初步判断,不支持swift 相关hook)

如果想用这个方案,那自己就去 看看 substrate 具体的参数是怎么传的。

解决方案:
第一种,调试下,看看为什么哪里崩溃,看看能修改不
第二种,自己从新打包,在包里增加hook的代码(自己实现)