Electra

From The iPhone Wiki
Jump to: navigation, search
Electra
Developer(s) CoolStar
Initial release 13 Jan 2018 (2018-01-13)
Stable release 1.0.4 (11.0-11.1.2)
1.0.5 (11.2-11.3.1) / 9 Mar 2018; 4 months ago (iOS 11.0-11.1.2)
13 Jul 2018; 15 days ago (iOS 11.2-11.3.1)
Operating system iOS
Available in English
Type Jailbreaking
Website Electra (11.0-11.1.2)
Electra (11.2-11.3.1)

Electra is a semi-untethered jailbreak for all devices running 11.0 - 11.3.1. There are two versions of Electra - one supporting iOS 11.0 - 11.1.2, and the other supporting iOS and tvOS 11.2 - 11.3.1.

Electra for iOS 11.0 - 11.1.2

The first beta for iOS 11.0 - 11.1.2 was released on January 13, 2018. Several betas were released. The betas did not include support for Cydia, however the developer, CoolStar later seeded six release candidate versions to developers with working Cydia support. Electra1112 was then officially released on February 26, 2018.

Version Date Changes
Beta 1 13 January, 2018 Initial release
Beta 2 13 January, 2018
  • Fix Anemone not recognising themes
  • Fix black screen when jailbreaking with tweaks enabled
Beta 3 13 January, 2018
  • Unlock all NVRAM variables (including setting boot-nonce) [thanks stek29]
  • Add support for binaries with SHA1 hashes (so existing dylibs work fine, but executables will need the entitlement) [thanks stek29]
  • Clean up some garbage files that were present from previous build (yay macOS resource forks and .DS_Store)
  • Hopefully fix the app icon not displaying on iPhones
  • Significantly speed up the rejailbreak process
Beta 3-2 14 January, 2018
  • Don't unlock NVRAM variables due to the patch crashing some devices.
Beta 3-3 14 January, 2018
  • Fix the NVRAM patching crashing due to the memory page being unmapped (thanks Siguza)
Beta 4 14 January, 2018
  • Disable NVRAM patching as it still appears to be unstable
  • Make amfid patch more reliable so that more dylibs can be run properly
  • Add a "shim" so existing substrate tweaks can use libsubstitute without modifications
Beta 4-2 14 January, 2018
  • Fix a symlink that would prevent some substrate extensions from working with libsubstitute
Beta 5 14 January, 2018
  • Fix an issue in the substrate shim where substitute could crash if tweaks tried hooking nonexistent selectors
  • Fix an issue with the dylib loader dragging UIKit (and all its tweaks) into every single daemon
  • Make jailbreakd more robust with input struct size check enforcement
Beta 6 16 January, 2018
  • Add a working launchctl for loading launch daemons (thanks nullpixel)
  • Load dropbear as a launch daemon & fix zombie process issue (thanks nullpixel)
  • Set kernel task as host special port #4 (thanks stek29)
Beta 6-2 17 January, 2018
  • Fix kernel memory leak in entitlement injector
Beta 6-3 18 January, 2018
  • Use host special port #4 to get tfp0 in jailbreakd (thanks n_triangle_dev)
  • Add jailbreakd as a launchd service so it gets restarted if it dies (thanks n_triangle_dev)
Beta 6-4 20 January, 2018
  • Don't make jailbreakd rely on pidlistuptrs bug (thanks stek29)
  • log dylib load errors in SBInject (thanks stek29)
  • Clean up launchd payloads (thanks stek29)
  • Load dylibs alphabetically from SBInject (thanks c0ldra1n)
  • Check for jailbreakd start before reloading backboardd
  • Make rejailbreaking significantly faster
Beta 7 23 January, 2018
  • amfid now gets re-patched if it ever gets killed (stek29 and coolstar)
  • clean up amfid patch (stek29)
  • Add 3d touch shortcut for jailbreaking (ca13ra1)
Beta 8 26 January, 2018
  • Sandbox mitigations are now in place so /Library, /private/var/mobile/Library/Preferences and /bootstrap are now accessible to all processes! (stek29, coolstar)
  • Workaround sandbox mitigations not taking place on apps' first launch (coolstar)
  • Improve reliability of amfid patch so it doesn't hang on malformed requests (e.g. SysSecInfo)
  • Known Bug: Apps will take longer to launch the first time they're launched after rejailbreaking due to a workaround for another bug w/ unsandboxing not working on first launch
Beta 8-2 26 January, 2018
  • Fixes issues with WebKit (Safari/Chrome), receiving calls, and downloading App Store apps by not working around the sandbox issue in those processes
  • Known Bug: Apps will take longer to launch the first time they're launched after rejailbreaking due to a workaround for another bug w/ unsandboxing not working on first launch
Beta 9 27 January, 2018
  • Sandbox is now working on the first launch for apps and daemons (thanks stek29)
  • Remove 0.5 second delay when launching apps or daemons that was present since beta 1 (coolstar)
  • Check if a new beta is available when electra is launched
  • Double-launch workaround has been removed since it's no longer needed, fixing all bugs introduced on beta 8
  • Remove AnemoneFonts.dylib as it was causing problems
  • Important Note: If you are upgrading from beta 8-2 or lower to any beta 9 or higher, you will need to reinstall all tweaks and themes
Beta 10 01 February, 2018
  • Fix certain codesigned binaries not working with our amfi payload (coolstar)
  • Add darwintools, debiantools (not dpkg), shell-cmds, system-cmds and uikittools
  • Re-sign most of the bootstrap as SHA1 to prepare for them to be pushed to a repo
  • Code cleanup (stek29 and nullpixel)
  • Fix update checker erroneously saying there's an update in airplane mode
Beta 11 09 February, 2018
  • Add libjailbreak so command line tools, apps, etc. can talk to jailbreakd if needed (n_triangle_dev)
  • Use XPC instead of UDP from libjailbreak and xpcproxy (n_triangle_dev)
  • Use TCP instead of UDP from launchd (coolstar)
Beta 11-2 10 February, 2018
  • Significantly improve the reliability of jailbreakd so it can handle a large amount of process launches at once (coolstar)
  • Make jailbreakd print directly to stderr rather than NSLog (coolstar)
  • Fix a race condition in beta 11 that would cause jailbreakd to sometimes inject too early, and thus fail to inject (coolstar)
Beta 11-3 12 February, 2018
  • Fix a race condition on jailbreakd's launch to improve success rate of jailbreak
1.0 26 February, 2018
  • Initial Release
1.0.1 26 February, 2018
  • Fix some false positives where Electra would think topanga was installed when only liberiOS was
1.0.2 27 February, 2018
  • Fix false positives where Electra would think topanga was installed when only liberiOS was
  • Prevent loading pacakges from saurik's repo (since Cydia can't be patched to remove it)
  • Fix APT 0.7 Strict (lib) on devices that may have already updated to the broken copy from saurik's repo
1.0.3 4 March, 2018
  • Revert change to XPC in xpcproxy in beta 11
  • Fix intermittent freezing issues that would affect certain devices on beta 10 -> 1.0.2
1.0.4 9 March, 2018
  • Remove all XPC code that could possibly have been problematic ever since beta 11
  • Replace TCP, UDP and XPC with MIG (thanks Psychotea from the Meridian team)
  • Recommended to also update Tweak Injector to 1.0.4 from our repo to get safe mode in system daemons as well

Electra for iOS/tvOS 11.2 - 11.3.1

With Electra's update to support devices running any iOS between 11.2 to 11.3.1 (including betas), delays came in place due to Apple's APFS snapshot mitigation of remounting the root filesystem as read/write that was introduced in iOS 11.3. There are many parts of a jailbreak that need read/write to do certain things within the filesystem, and because of Apple's mitigation, a APFS remount workaround was needed to complete the jailbreak. Chinese security researcher Min Zheng had already found and created his own bypass to remount the root filesystem, which many other developers then tried implementing in their own way. During this time, Jonathan Levin, creator of the LiberTV jailbreak for the AppleTV was announcing his plans for updating LiberTV with an APFS remount which the Electra Team could use. Meanwhile, CoolStar had already found a 0day in APFS which would allow the filesystem to be remounted as r/w, but wanted to save it for future use in iOS 12. As this news was absorbed by the community, many people were angry that CoolStar wanted to delay the update for Electra by saving the 0day. However, CoolStar had found yet another 0day and decided to end the waiting on Levin's remount and use one of his APFS 0days instead. Electra1131 was then released a little while later on July 6, 2018.

Support for tvOS 11.2-11.3 was released in a separate IPA on July 12, 2018. Nicknamed "electraTV", this was released in conjunction with nitoTV, who has also released jailbreaks like backr00m and Jaywalker.

Version Date Changes
1.0 6 July, 2018
  • Initial Release
1.0.1 7 July, 2018
  • Fix app icon not showing up for certain users
  • Fix nonce Generator not being set certain times
1.0.2 8 July, 2018
  • Use different bundle identifier for mptcp version
  • Increment bundle id properly
  • Hopefully fix success rate regression with multipath 1.0.1
1.0.3 9 July, 2018
  • Add support for 11.4 beta 1 - 11.4 beta 3 (multipath only tested on these firmwares)
1.0.4 12 July, 2018
  • Initial release for tvOS (huge thanks to nitoTV and Jaywalker!)
1.0.5 13 July, 2018
  • tvOS Only - Fix bugs with 1.0.4 causing long and unreliable jailbreak process