#import #import #import #include @interface PBSSystemService : NSObject +(id)sharedInstance; -(void)deactivateScreenSaver; @end @interface PBSPowerManager : NSObject +(id)sharedInstance; +(void)load; +(void)setupPowerManagement; -(void)_performUserEventWakeDevice; -(void)wakeDeviceWithOptions:(id)arg1; -(void)setNeedsDisplayWakeOnPowerOn:(BOOL)arg1; - (void)sleepDeviceWithOptions:(id)arg1; -(void)_registerForPowerNotifications; -(void)_registerForThermalNotifications; -(void)_enableIdleSleepAndWatchdog; -(void)_registerForBackBoardNotifications; -(void)_updateIdleTimer; @end @interface NSDistributedNotificationCenter : NSNotificationCenter + (id)defaultCenter; - (void)addObserver:(id)arg1 selector:(SEL)arg2 name:(id)arg3 object:(id)arg4; - (void)postNotificationName:(id)arg1 object:(id)arg2 userInfo:(id)arg3; @end /* Set platform binary flag */ #define FLAG_PLATFORMIZE (1 << 1) void platformizeme() { void* handle = dlopen("/usr/lib/libjailbreak.dylib", RTLD_LAZY); if (!handle) return; // Reset errors dlerror(); typedef void (*fix_entitle_prt_t)(pid_t pid, uint32_t what); fix_entitle_prt_t ptr = (fix_entitle_prt_t)dlsym(handle, "jb_oneshot_entitle_now"); const char *dlsym_error = dlerror(); if (dlsym_error) { return; } ptr(getpid(), FLAG_PLATFORMIZE); } int main(){ @autoreleasepool { platformizeme(); //[ATVPowerManager setupPowerManagement] NSString *pineBoardServices = @"/System/Library/PrivateFrameworks/PineBoardServices.framework/"; NSBundle *pbs = [NSBundle bundleWithPath:pineBoardServices]; [pbs load]; Class pss = objc_getClass("PBSSystemService"); id sysService = [pss sharedInstance]; [sysService deactivateScreenSaver]; Class powermanager = objc_getClass("PBSPowerManager"); [powermanager setupPowerManagement]; [powermanager load]; id power = [powermanager sharedInstance]; [power sleepDeviceWithOptions:@{@"SleepReason": @"UserSettings"}]; /* Class notecenter = objc_getClass("NSDistributedNotificationCenter"); id note = [notecenter defaultCenter]; [note postNotificationName:@"com.nitoTV.sleep" object:nil ]; sleep(3); */ } return 0; }