Root权限的app,hook MGCopyAnswer 多应用生效需要如何做呢?

Hello 各位大大。请教你们一个问题。
小白还在学习阶段,看了狗神大大的书边学变练。

遇到了一个问题。

现在有了一个root权限的app中,我想修改全局的wifi address。

static CFTypeRef (*orig_MGCopyAnswer)(CFStringRef str);
CFTypeRef new_MGCopyAnswer(CFStringRef str)
{
NSString *keyStr = (__bridge NSString *)str;
if ([keyStr isEqualToString:@“WifiAddress”] ) {
return (CFTypeRef)@“00:00:00:00:00:00”;
} else {
return orig_MGCopyAnswer(str);
}
}

void *h = dlopen("/usr/lib/libMobileGestalt.dylib", RTLD_GLOBAL);
if (h != NULL) {
MSImageRef ref = MSGetImageByName("/usr/lib/libMobileGestalt.dylib");
void * MGCopyAnswerFn = MSFindSymbol(ref, “_MGCopyAnswer”);
MSHookFunction(MGCopyAnswerFn, (void *) new_MGCopyAnswer, (void **)& orig_MGCopyAnswer);
}

hook了libMobileGestalt.dylib中的MGCopyAnswer。

在hook之后,在本app中,去调用CFTypeRef tmp = MGCopyAnswer(CFSTR("WifiAddress”));确实可以拿到修改后的,但是app kill掉,就还原了,且其他app也获取不到hook之后的值。

但是这样dylib生效区域只能在app内,不能再其他的app里面。
用注入dylib的方式在root权限的app中需要怎样做才可以在多app中里面生效呢?
多谢dalao指路。。:)

ayy lmao:joy:

Filter填写com.apple.UIKit,或者com.apple.Security,应该可以注入大多数app