1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #import <dlfcn.h>
- #import <objc/runtime.h>
- #import <Foundation/Foundation.h>
- #include <TargetConditionals.h>
- @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;
- }
|