关于Macos 的 dobby hook

本来想看看macos 跨平台的 hook, 毕竟有俩台 mac , apple/inter 不能浪费;
但是困难重重

好不容易 项目里集成了 dobby , 在项目里引用了 dobby 的 dylib

但是各种报错啊, 最后俩台电脑都卡在这里了 (试了引入 dobby的 dylib/.a/framework 都不行)
我只是 想把 a+b 的 函数 hook 成 a*b 而已…

int sum(int a, int b) {
    return a+b;
}
//函数指针用于保存被替换函数的地址
static int (*sum_p)(int a, int b);

//新函数
int mySum(int a,int b){
    // NSLog(@"替换前的结果:%d",sum_p(a,b));
    return a * b;
}
    
    

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"%d", sum(1, 2));
        DobbyHook(sum, mySum, (void *)&sum_p);
        NSLog(@"%d", sum(1, 2));
    }
    return 0;
}


已经解决

怎么解决的 我也遇到这个问题

项目推到 github了, 你对比下配置就好

1 个赞