Skip to content

Releases: opa334/Dopamine

2.4.1

16 Feb 19:18
5aeee4b
Compare
Choose a tag to compare
  • Fix support for iOS 16.0.x [2.4 regression]

2.4

16 Feb 15:04
a5d562a
Compare
Choose a tag to compare
2.4

NOTE: Doing an OTA update to this version will reboot your device, requiring a rejailbreak afterwards, this is expected and unavoidable, because Dopamine <=2.3 has a bind mount that cannot possibly be unmounted without panicing the device.

  • Add a workaround for spinlock panics on iOS 15 arm64e that fully prevents them in all cases (except one, see below*)
  • Make "Hide Jailbreak" fully hide the jailbreak, to the point where it should be undetectable (see notes below)
  • Apply sandbox patches before linking, fixes issues when a process directly links against a library inside /var/jb
  • Improve and optimize library validation bypass
  • Slightly improve forkfix
  • Fix/reenable tweak injection into WebContent on iOS 16
  • Fix a rare system deadlock during "Initializing Jailbreak"

CAVEATS WITH "HIDE JAILBREAK":

  • Once you have hidden the jailbreak once since the last userspace reboot, spinlock panics can happen again* if your device is affected by them (iOS 15 arm64e), this is because the spinlock workaround relies on a dyld hook, which has to be disabled to properly hide the jailbreak, there is not much that can be done about this, the only idea I had did not work when I tested it
  • When hiding the jailbreak, a few processes, such as apps where tweak injection has been disabled via Choicy, will crash, I was trying to fully fix this by deprecating the /usr/lib bind mount in favor of a namecache based solution, but that caused weird panics on iOS 16 (the code for this has been pushed to the nofakelib branch), so unless a fix for those can be found, there is nothing I can do about this

POTENTIAL CAVEATS WITH JAILBREAK DETECTION:

  • Since Dopamine 2.4 has introduced a dyld hook and also redirects dyld to a different folder via symlink now, it might be slightly more detectable, even while tweak injection for an app is disabled, there is not much that can be done about this, but as explained in the change log, the "Hide Jailbreak" option now works better as a result of these changes

2.2.2

10 Aug 17:11
0d51987
Compare
Choose a tag to compare
  • Stop redirecting all execve calls to posix_spawn, fixes issues with certain sandbox profiles (e.g. configd) that block posix_spawn but allow execve, fixes WPA2/3 ENTERPRISE networks not working (these issues started in 2.2 but were not a regression, in earlier versions the exec call was not hooked properly which is why this wasn't noticed before)

2.2.1

30 Jul 22:00
316ec4e
Compare
Choose a tag to compare
  • Bump default jetsam multiplier back to 3x because apparently people don't read changelogs and that's why we can't have nice things (Most people should still be using 2x, but that's on their own to figure out now...)

2.2

28 Jul 11:07
c04d338
Compare
Choose a tag to compare
2.2
  • Remove DYLD_INTERPOSE in favor of other hooking techniques, since DYLD_INTERPOSE was apparently causing memory usage to be much higher than what it should be
  • The jetsam multiplier can now be configured inside the Dopamine app, in previous Dopamine versions this was 3x everywhere with no option to configure it, due to the removal of the DYLD_INTERPOSE, the default setting has been able to be lowered to 2x
  • NSTask is now supported everywhere by default, unlike before where it was only supported inside tweak dylibs or when you called dopamine_fix_NSTask yourself
  • Due to the better hooking techniques, a lot of unnecessary code has been able to be removed
  • Fix kcall on iOS 15 arm64 not working from libkrw and iDownload
  • Fix frida-ps -U panicing the device (To be honest, I have no clue what change actually fixed this, the only thing I know is that it happens in older Dopamine versions and doesn't happen in 2.2 anymore)
  • Improve launchd crash reporter in various different ways
  • Code cleanup

2.1.7

12 Jun 21:20
cdded6d
Compare
Choose a tag to compare
  • Remove libkrw0 dependency of libkrw plug-in, should fix rejailbreaking when libkrw0 has been uninstalled
  • Improve verbose logging, also log stderr to it

2.1.6

12 Jun 15:38
a4ec1f9
Compare
Choose a tag to compare
  • Fix jailbreaking with developer mode disabled not working on iOS 16.0 - 16.3.1 arm64
  • Fix weightBufs not working on some device / version combinations
  • Fix libkrw physrw not working when kcall is not available
  • Improve libkrw packaging and error handling
  • Skip installing a bundled package if a newer version is installed already
  • When an update is available while unjailbroken, it will now be opened directly in TrollStore if it's URL scheme is enabled

2.1.5

27 May 14:45
Compare
Choose a tag to compare
  • Allow binaries to get custom pmap_cs trust level via the jb.pmap_cs_custom_trust entitlement, possible values: {"PMAP_CS_PROFILE_PREFLIGHT", "PMAP_CS_COMPILATION_SERVICE", "PMAP_CS_OOP_JIT" (iOS 16 only), "PMAP_CS_LOCAL_SIGNING", "PMAP_CS_PROFILE_VALIDATED", "PMAP_CS_APP_STORE", "PMAP_CS_IN_LOADED_TRUST_CACHE", "PMAP_CS_IN_STATIC_TRUST_CACHE"}, a lower trust level allows the process to be less restricted by PMAP_CS, this in practice fixes the EQE app and it's Lua recompiler not to work (but only if it has the entitlement, so make sure you use the newest EQE build)
  • Fix posix_spawnattr_setarchpref_np not being supported by the codesign bypass (#573)

2.1.4

07 May 12:20
Compare
Choose a tag to compare
  • Only automatically fix up permissions of relevant directories inside /var/jb/var/mobile, rather than the entirety of it
  • Skip permission fix up if either /var/jb/var or /var/jb/var/mobile is a symbolic link, previously there was a bootloop risk when either of them point to the real /var or /var/mobile

2.1.3

06 May 23:56
Compare
Choose a tag to compare
  • Fix system deadlocks on some devices resulting in watchdogd timeout [2.0 regression]
  • Automatically recursively fix /var/jb/var/mobile permissions (Fixes file sharing with jb apps still not working for some people)
  • Fix codesigning bypass not working on binaries that have an armv6 slice (There probably isn't a single binary with such a slice though) [2.1 regression]
  • Fix multicast_bytecopy not working on iPad Mini 6 (Contributed by @m1zole)

Build has been pulled due to a rare bootloop risk, use a later version