This build was updated on 22:09 UTC with a very tiny hotfix for an issue where certain jailbreak detections were tripping because the fork hook wasn't setting errno correctly.
Changelog:
- Add workaround for fork() and vfork() inside processes that have hooks applied (previously the child would instantly crash)
- Even better setuid solution (Thanks to @sbingner)
- Update shipped Sileo to 2.4.4
- Add option to hide / uninstall jailbreak environment to the app, accessible by long pressing on the jailbreak button (stop gap solution until final version with proper UI), ONLY USE WHILE NOT JAILBROKEN
- The alert that appears after jailbreaking now has a button to do the userspace reboot (stop gap solution until final version with proper UI)
What's still missing for the final release:
- Proper name / UI
- User friendlyness
- Userland hooks for icon cache and preferences
- libkrw
- Fully working Sileo / Zebra builds
Known Issues:
- For some users, Sileo crashes on launch, there is no current fix or workaround for this, a proper fix is pending by Sileo developers
- On some versions, doing anything in Zebra crashes, there is no current fix or workaround for this, a proper fix is pending by Zebra developers
- When something hooks a C function inside
logd
, userspace reboots will get stuck, (fixed in Ellekit 0.4.5) - Spinlock panic, no idea what causes this, might be a late side effect by one of the exploits
- Some sort of race condition pmap panic, no idea what causes this either, but I think this is probably a bug in the environment somewhere
- On 15.0 - 15.3.1, you need to fully disable wifi while jailbreaking
Notes:
- Final jailbreak will have a different name
- This jailbreak is rootless: https://theapplewiki.com/wiki/Rootless, rootful packages are not supported
- Default password for
root
:alpine
(you need to install openssh from package manager) - The only known bootloop issue is when you delete some system files in
/private/preboot
yourself, so don't do that?
For Tweak Developers:
- Update theos to latest, then you can build for rootless via
THEOS_PACKAGE_SCHEME=rootless
- Store/load preferences either via cfprefsd APIs or inside
/var/jb/var/mobile/Library/Preferences
(there will be a cfprefsd hook in the final jb to redirect all non stock stuff to that path) - You need to compile everything for rootless
- All dependencies have to be compiled for rootless and stored in
$THEOS/lib/iphone/rootless
- You need to put every former root path you access through the macros defined in rootless.h
- You need to compile with Xcode 12 or newer, otherwise your dylib will crash the process (if you don't want to loose iOS 12 / 13 arm64e support, you still need to compile your rootful packages with Xcode 11)
- There currently is a theos bug where rootless libraries cannot link against other rootless libraries
- No rocketbootstrap / IPC (yet? ever? who knows?)
Credits:
@evelyneee: Ellekit
@Cryptiiiic: Various contributions
@TheRealClarity: Various contributions
@dhinakg: Various contributions
@captinc: Various contributions
@sbingner: setuid solution
@LinusHenze: Original Fugu15 project, various contributions
@ProcursusTeam: Bootstrap
@kirb: Zebra
@elihwyma / @Sileo: Sileo