Discover Jailbroken iOS Device by executing an unrecorded executable

I'm currently trying to create a reusable objC security library for developers in my company. In this library, I would like to have an API that detects that their iOS device is locked. I noticed GregH's smart answer , which is similar to what iBooks do; you are launching an unsigned version of the executable file (iOS does when you launch the application through an execve sys call), if it returns, you know that the device is locked.

Question: Is it possible to pack an executable file in the iOS library and call it through some function? If so, what could be the best way to do this?

Thanks for your help, cop

+5
source share
2 answers

The last thing I checked, sandboxed applications can't even fork(). I'm not sure if they can call execve(). If they cannot do this, then you just need to call execve().

I'm not sure how much jailbreak interferes with this. Perhaps there is a jailbreak that allows you to run unregistered applications from unregistered applications, but it behaves normally if the caller is signed up.

Obviously, it is possible to "package" the executable in the library: just use it static unsigned char const data [] = { ... };, write it to the file, chmod()and try to execute it.

, . Jailbroken , . - , ( ), " !" .

( , - . "", , .)

, . MobileSubstrate , script, . OTOH, , / ( , , ) .

+1

IOS, , main() . , . chmod " ", , ().

0

All Articles