daemon 代码如下
static void Reboot(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)
{
NSLog(@"tweak: reboot");
dlopen("/Library/MobileSubstrate/DynamicLibraries/tweak.dylib",RTLD_LAZY);
}
int main(int argc, char **argv, char **envp) {
NSLog(@"AAAAAAAAA twaek");
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, Reboot, CFSTR("com.xa.tweak.reboot"), NULL, CFNotificationSuspensionBehaviorCoalesce);
CFRunLoopRun(); // keep it running in background
return 0;
}
tweak.dylib 代码如下
%hook UIColor
+ (UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha{
%log;
return %orig;
}
+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha{
%log;
return %orig;
}
+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha{
%log;
return %orig;
}
%end
已经确保daemon运行起来了
加载tweak.dylib的时候,
报错:
MS nil class argument for selector colorWithWhite:alpha:
Nov 25 15:20:16 iPhone daemon[71] : MS nil class argument for selector colorWithHue:saturation:brightness:alpha:
Nov 25 15:20:16 iPhone daemon[71] : MS nil class argument for selector colorWithRed:green:blue:alpha:
请教一下为什么会找不到这个uicolor class.
我想做的是不管哪个APP调用uicolor 这个函数。我都能hook住。想全局改颜色。