MASTG-TEST-0240: Jailbreak Detection in Code
Content in BETA
This content is in beta and still under active development, so it is subject to change any time (e.g. structure, IDs, content, URLs, etc.).
Overview¶
The test verifies that a mobile app can detect if the iOS device it is running on is jailbroken. It does so by statically analyzing the app binary for common jailbreak detection checks. For example, the app may check for the presence of a third-party app store (e.g. Sileo, Zebra, ...), or for the presence of certain files or directories that are indicative of a jailbroken device.
The limitations of static analysis should be considered. It is possible that the app uses more sophisticated jailbreak detection techniques that are not detected by the used tool. In such cases, careful manual reverse engineering and deobfuscation are required to identify the jailbreak detection checks.
Steps¶
- Run a static analysis tool such as radare2 for iOS on the app binary looking for common jailbreak detection checks.
Observation¶
The output should include any instances of common jailbreak detection checks in the app binary.
Evaluation¶
The test passes if jailbreak detection is implemented.
The test fails if jailbreak detection is not implemented. However, note that this test is not exhaustive and may not detect all jailbreak detection checks. Manual reverse engineering and deobfuscation may be required to identify more sophisticated jailbreak detection checks.
Demos¶
MASTG-DEMO-0021: Uses of Jailbreak Detection Techniques with r2