A jailbreak detection bypass for modern iOS jailbreaks.
- No support is given, but Shadow should still be functional.
- On iOS 16.2+, Substitute appears to have issues hooking C functions. In this case, please use the
fishhook
hooking library or replace Substitute with ElleKit (?).
Shadow is not guaranteed to work on all apps, but here are some ideas to try:
- Use a different hooking library.
fishhook
is a safe option, but is somewhat limited in what it can hook. - Disable all tweaks except Shadow. You can use Choicy or libhooker Configurator to do this per-app.
- Use vnodebypass, if supported on your system.
- If semi-(un)tethered or rootless, reboot into normal jailed iOS and use the app.
- Use another bypass tweak, ideally an app-specific bypass tweak. Be wary of enabling multiple bypass tweaks in case of conflicts.
- Downgrade the app. Sometimes, newer versions have updated detection methods.
Add my repo to your package manager and install the Shadow (me.jjolano.shadow
) package. Alternatively, download the latest release directly from GitHub and open the file with your package manager.
You may need additional repositories for dependencies - these are the current dependencies:
libSandy
from opa334's Repo (preferences - sandboxed loading)AltList
from opa334‘s Repo (preferences - application listing)HookKit Framework
(hooking + change hooking library feature)RootBridge Framework
(rootless compatibility/universal binary building)
A recommended (but not required) package is Injection Foundation
from PoomSmart's Repo (https://poomsmart.github.io/repo
). This package ensures that Shadow is injected properly into certain apps.
After installation, settings are available in the Settings app. You may configure global defaults, or add an app-specific configuration. Shadow allows fine-grained control of its bypass strength, so there will be many options available to configure.
Copyright Act, RSC 1985, c C-42, s 41.12.