Jailbreaking allows users to do more with their devices, to get past Apple’s unnecessary walled garden approach. Sideloading, theming, tweaks to customize UI elements or to add functionality that is simply not there on stock iOS, all of these are done through jailbreaking, and frankly it affects Apple in no way whatsoever.
If anything, being able to jailbreak my device easily makes me love my device more because I can customize it more and get the functionality I really need. Unfortunately, that’s not how Apple sees things. They have considered jailbreaking a bad practice ever since its inception.
They even went to make fearmongering claims that a jailbreak is a piracy tool or it will affect your device. So much so to the point where many independent application developers followed suit and added jailbreak detection in their applications.
How does Jailbreak Detection work?
Jailbreak detection is a mechanism that can vary from application to application. It prevents the user from opening or using the app if the device is jailbroken, even if the jailbreak is not currently active (e.g. after a reboot).
The detection usually works by checking for the presence of Cydia, jailbreak binaries like bash, OpenSSH, Cydia Substrate, Substitute, etc. It works in different ways from app to app and there’s no standardized way of checking for a jailbreak.
Some apps check if the file system has been remounted, other apps probe the kernel for version modifications like “MarijuanARM” in the kernel version string. Other apps simply check for jailbreak-related temporary files like “.bit_of_fun” or “.cydia_no_stash” amongst others.
Usually, if the jailbreak files are present, there are ways to detect them even if App Store apps are supposed to be sandboxed. Other more sophisticated applications will check for Dylib (Dynamic Link Library) injection at runtime, which usually is the case in jailbroken environments because of tweak injection.
Can I get in trouble if my iPhone is jailbroken?
The short answer is yes. While uncommon, you can get in trouble, especially from Snapchat, online games, and some other apps that tend to be pretty twitchy about jailbreaking. Snapchat for instance will ban your account if they detect you are jailbroken. The likely reason is that people install tweaks to save other people’s snaps on the device thus violating the rules.
Bank apps are usually detecting jailbreaks too, but your account is not likely to get blocked. Most of the time you just cannot use the application because it will show a nag screen telling you that you are jailbroken.
In recent years more and more apps started to detect jailbreaks and deny access to the user, not because they needed to, or because it posed a security risk for the app, but rather because their competitors do it.
While for banking apps it’s understandable that they are concerned, apps like McDonald’s probably don’t need jailbreak detection unless they are afraid I will jailbreak their hamburger.
Games like PubG Mobile also ban you if you are jailbroken, likely due to cheating concerns. Some of these concerns are valid, as jailbreak tweaks that facilitate cheating and modifying games do exist.
The risk coming from jailbroken devices isn’t as big as these companies believe it to be, but they err on the side of caution. Apple’s fearmongering does not help matters when they promote jailbreakers as pirates and say publicly that “sideloading is a cybercriminal’s best friend”.
How to bypass jailbreak detection on iOS apps?
While this is possible, unfortunately, there is no magic bullet for it that would work on all applications. Depending on what the application detects and how the detection works in the background, you may use a different solution for different applications.
For some applications, simply rebooting the device in non-jailbroken mode is enough. For others, that doesn’t make a dent. Over the years we’ve got a few tweaks that help with bypassing jailbreak detection, but even those only work in certain cases.
Nowadays many applications can tell if you’re jailbroken by detecting if your device injects Cydia Substrate, Substitute, or LibHooker into the app at runtime. This injection is necessary for tweaks to be able to load and interact with the app, but unless you really need to inject in all apps, you can disable this on an app-by-app basis.
Tweaks like Choicy (Free) can disable tweak injection for each individual app while leaving it on where you need it. Sometimes this is enough, but oftentimes you need to combine it with a tweak like KernBypass or VnodeBypass which actually attempt to bypass the jailbreak detection at a much deeper level.
Those mentioned above are usually the most popular way to block jailbreak detection, but they are not perfect, in fact, they are far from it. Working at the kernel level is dangerous can produce unexpected glitches and crashes, and for some apps, these solutions make no difference.
In some cases, developers have released per-app bypasses that focus only on one app.
Jailbreak Detection Bypass Tweaks
Here’s our collection of tweaks designed to bypass jailbreak detection with various degrees of success. They may or may not work for your app, but it’s what we have for now.
- Choicy – Can disable tweak injection for each app separately while leaving it on for the rest. Pretty useful and popular, also Free. (REPO: Choicy)
- KernBypass Unofficial – Attempts to bypass jailbreak detection at the kernel level. Pretty popular but may not work on all apps.
- VnodeBypass – Popular solution, but may not work for all applications.
- A-Bypass – Works for some apps including some smaller banking apps (REPO: https://repo.co.kr/).
- Liberty Lite – Works well on small banking apps, but may fail on more popular/beefy apps. (REPO: https://ryleyangus.com/repo/).
- PicaHide – A good Snapchat Jailbreak Detection Bypass. Still, do know that a small failure and you CAN get banned by Snapchat. (REPO: http://apt.thebigboss.org/repofiles/cydia/).
- KernBypass Original – Compatible with CheckRa1n and OdysseyRa1n, may or may not work for your particular app. (Source: GitHub).
- Jailprotect – Works on iOS 10 and disables Tweak Injection. I’d use Choicy nowadays, but do know this exists too. (REPO: https://julioverne.github.io/).
- Shadow – Works on simple apps. More complicated banking apps cannot be bypassed with this. It was tested on Unc0ver. (Source: GitHub).
- FlyJB X – Used to work relatively well and may still work on iOS 14 if you can find a reliable and safe DEB. The developer left the community and removed their repo.
- TsProtector 8+ – This one works best on iOS 8.x devices. It may work on iOS 9 but I did not test it. (REPO: https://typ0s2d10.appspot.com/repo/).
- AJB – It’s older and may or may not work. I have a hard time even finding it nowadays.
- Hestia – Works on iOS 11.0 – iOS 14 and it’s free, but may or may not work for you.
- De-Bypass – Supports Fire Emblem Heroes, Seikimatsu Days, Uta Macross, ONE PIECE: Thousand storm.
- xCon – Works for some apps, may not work for others, check the xCon compatibility table here.
- Tweaks Manager – Like Choicy, disables tweak injection. Not always enough.
You will likely need a combination of these to have any success with most of your apps. Very popular combinations include Choicy + KernBypass or Choicy + VnodeBypass.
Credits: Lock icons created by Dave Gandy – Flaticon
iOS and Apple are registered trademarks of Apple Inc.