code
static id ori__NSDictionaryOfVariableBindings(NSString *commaSeparatedKeysString, __nullable id firstValue, ...);
static id new__NSDictionaryOfVariableBindings(NSString *commaSeparatedKeysString, __nullable id firstValue, ...){
va_list args;
va_start(args, firstValue);
va_end(args);
return nil;
}
__attribute__((constructor)) static void _wsApplicationConstructorCallback() {
rebind_symbols((struct rebinding[1]){{"__NSDictionaryOfVariableBindings", new__NSDictionaryOfVariableBindings, (void*)&ori__NSDictionaryOfVariableBindings}},1);
}
编译错误提示如下:
_ori__NSDictionaryOfVariableBindings
Undefined symbols for architecture arm64:
"_ori__NSDictionaryOfVariableBindings", referenced from:
l_constinit in WSLaunchDetector.o
ld: symbol(s) not found for architecture arm64
这种问题有哪位大佬了解么?
如果去掉rebind_symbols((struct rebinding[1]){{"__NSDictionaryOfVariableBindings", new__NSDictionaryOfVariableBindings, (void*)&ori__NSDictionaryOfVariableBindings}},1);
这句,也就是不用fishhook就可以编译过。