本来想看看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;
}