Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Re-launching a VOIP application from background mode using private API's

To start off with - this app doesn't need to get into the App Store.

I'm thinking something along the lines of the following should work:

mach_port_t *p;
void *uikit = dlopen(UIKITPATH, RTLD_LAZY);
int (*SBSSpringBoardServerPort)() = 
dlsym(uikit, "SBSSpringBoardServerPort");
p = (mach_port_t *)SBSSpringBoardServerPort(); 
dlclose(uikit);

void *sbserv = dlopen(SBSERVPATH, RTLD_LAZY);
int (*setAPMode)(mach_port_t* port, const char* appID, BOOL suspended, void* unknown, void* unknown2) = 
dlsym(sbserv, "SBSLaunchApplicationWithIdentifier");
setAPMode(p, "com.apple.weather", NO, nil, nil);
dlclose(sbserv);

However I'm getting exc_bad_access, which is likely due to the fact that it needs an auth token - I could be wrong though.

Alternatively I'm trying using the following:

Class $SBApplicationController=objc_getClass("SBApplicationController");

NSLog(@"[$SBApplicationController sharedInstance], %@", [$SBApplicationController sharedInstance]);

Sadly the output is null - so I guess this can't be done within the application.

Any ideas?

like image 880
Luke Rhodes Avatar asked Dec 04 '25 00:12

Luke Rhodes


1 Answers

The iOS sandbox will block or kill any process which isn't started by iOS.

like image 178
hotpaw2 Avatar answered Dec 06 '25 14:12

hotpaw2



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!