Releases: londek/ipadecrypt
v0.7.1
Highlights
Small patch release addressing Apple's latest rate limits with 429 and implementing new --storefront flag, which allows you to query specific storefront without rebootstraping.
Enjoy!
Changelog
v0.7.0
Highlights
A huge release
- dyld patching - helper now patches target's dyld at runtime in order to fix several linking issues caused by missing libs.
- File streaming - we don't package stuff into ipa removing one of the main bottlenecks
- Minimal data transfer - we don't transfer entire app to the host, only the decrypted binaries
- Above and few more result in huge speed uplift. Few examples being
55s -> 19s,13m -> 9m50s - No more zip dependency - you don't have to install zip package now!
- Decrypted ipas preserve original values - thanks to @NohamR
- Graceful cleanup on CTRL+C - yet another way to limit bloat
- Auto-uninstall after decryption - it's triggered by default on install paths so we leave device in original state, without the decrypted app
- Stronger verify and --extra-verify - even more checks to ensure binaries are truly decrypted and valid
- New flags:
--skip-appex,--force-uninstall/--no-uninstall,-v/--verbose,--redact ipadecrypt versionsnow shows minimum OS version for the given app- Helper is rewritten from single file into actual module with structure
- Releases are now built automatically by Github workflow ensuring no tampering in binaries, should've done that way earlier
- Bundle ID matching is now case insensitive
- App directory detection no longer relies on app name so Apple Home and Google Home are distinguished correctly
- Arbitrary arm64e fixes
- And even more features!
Huge thanks for testers
@b1atant @vagvalas @MoritzHinterleitner
Changelog
- 5a0d067: Restore MinimumOSVersion in decrypted IPAs (#21) (@NohamR)
- 07359b5: ci: automate release tags (@londek)
- 7bb6c52: feat: --skip-appex, --force/no-uninstall (@londek)
- cd9d2a1: feat: add --redact flag (@londek)
- f7f8557: feat: add more extra verify checks (@londek)
- 4bed07d: feat: best-effort jailbreak detection (@londek)
- f59830f: feat: ensure we cleanup on interrupt (@londek)
- 8f873ac: feat: expose min os version in versions tool (@londek)
- cbbeb8c: feat: helper rewrite (@londek)
- f992643: feat: log ipadecrypt version in decrypt prologue (@londek)
- 6bec625: feat: log model in decrypt prologue (@londek)
- 47e2d7c: feat: remove zip dependency (@londek)
- 52ec106: feat: restore Info.plist values (@londek)
- 19ab634: feat: robust cross-OS decrypt across jailbreaks (@londek)
- 76fd286: feat: stream decrypted Mach-Os over stdout, assemble IPA on host, uninstall when done (@londek)
- 3b410a4: fix: do not rely on app name to detect app dir (@londek)
- d514ac9: fix: ensure we delete itunesmetadata (@londek)
- 4574b5c: fix: ignore cryptid=0 in extra-verify (@londek)
- 9d5ed27: fix: make bundle id matching case insensitive (@londek)
- 185086d: refactor: clean up log messages (@londek)
- cd8ecbb: refactor: remove dead restore code (@londek)
- c4b5611: refactor: remove useless message (@londek)
- 8a65a9e: refactor: separate macho into internal/macho (@londek)
- bce7618: refactor: simplify config (@londek)
- 6b71426: refactor: tighten device shell quoting + small cleanups (@londek)
- 8e5aa88: refactor: touchups (@londek)
- dd88ec7: refactor: unify verify into single pass (@londek)
- b630ae1: refactor: update warning message (@londek)
- a192cce: style: fix lint (@londek)
- 16c4c96: style: fix lint (@londek)
- 2519124: style: small style polishes (@londek)
v0.6.0
Highlights
This release brings new mechanisms for decrypting ipas and speed improvements.
- Pre-upload patching uses raw zip stream copy, skipping a decompress/recompress cycle
- Install lookup replaces a per-file shell loop with a single grep across all top-level Info.plists
- New
--use-installedflag picks the installed build directly without an App Store roundtrip - works in non-TTY environments - New
--extra-verifyflag byte-compares every output Mach-O against the source outside the encrypted region, catching decrypt corruption that the cryptid==0 check can't see --forcerenamed to--from-appstore, which actually describes what it does- Fixed frameworks where the helper picked a busy thread mid-syscall instead of an idle one
Changelog
- 8780ff8: feat: decrypt arbitrary cryptid=1 Mach-Os via target-context mremap_encrypted (@londek)
- a8dcdcd: feat: implement extra-verify flag (@londek)
- 4c865ef: feat: improve transfer speeds (@londek)
- a702b5e: feat: speed up helper launch (@londek)
- 6304a0f: feat: speed up packaging ipa (@londek)
- 94a3294: feat: speed up pre-upload pipeline (@londek)
- 9b728d4: fix: fix false cryptid=0 in some cases (@londek)
- 8a50767: fix: patch flow for non-tty (@londek)
- 1463f59: refactor: rename --force to --from-appstore (@londek)
v0.5.6
v0.5.5
Highlights
Minor release
- Removed
posix_spawnpath asSBSLaunchis a superset of it - it also callsposix_spawneventually just throughlaunchd. - Improved text blinking under Windows Terminal.
Changelog
v0.5.4
Highlights
iPad-only apps now install on iPhone thanks to new flag --patch-device-type.
Implemented recursive rescue pass, fixing Swift Playground decryption failures.
Changelog
v0.5.3
v0.5.2
Highlights
Thanks to @b1atant we all can now enjoy faster upload speeds!
Changelog
- 5a26ed9: Update issue templates (@londek)
- c4ea568: feat: make feedback more instantenous (@londek)
- cf882cb: feat: speed up device IPA uploads (#9) (@b1atant)
- b7d9280: fix: cleanup should happen on remote fs (@londek)
- 261ab93: refactor: remove deadcode (@londek)
- 1e6c615: style: improve coding style (@londek)
v0.5.1
Highlights
Another release from which I'm proud! Thanks @MoritzHinterleitner and @vagvalas for helping me in debugging iOS 15 issues.
- Major cross-OS decryption improvement: on missing dylib (such as when during spawning unsupported app) we'd handle the exception and dump already loaded dylibs, so the dylibs that were about to be loaded after the one that failed are not mapped and are not decrypted. This has been fixed!
- Fixes and improvements
Changelog
v0.5.0
Highlights - decrypting .ipas is not for palera1n only!
This release is a big one. The helper got a full rewrite, you can finally decrypt .ipas under Dopamine, and there's a bunch of fixes and improvements.
- Dopamine works. Helper rewritten with
SBSLaunchApplicationWithIdentifierfor main apps andPT_TRACE_MEfallback. - Per-binary live log:
decrypted <name> (<size>)as each image comes out. - ipadecrypt now prompts when app is already installed on device meaning you can decrypt straight from device now.
--forceskips it. --output/-ofor custom output path (#7, thanks @planeklm).Watchstrip pass is currently pre-install not post-dump.- Non-TTY no longer spams duplicate progress lines; multi-line errors render correctly.
- Helper binary renamed to
ipadecrypt-helper-arm64.
Changelog
- a72d82d: Update issue templates (@londek)
- e745cc6: feat: add --output/-o flag to specify custom destination directory/file path (#7) (@planeklm)
- 9ea36a8: feat: allow using app installed on device (@londek)
- 8fd7d60: feat: debounce progressbars for non-tty (@londek)
- 8a33ff0: feat: implement --force flag (@londek)
- e8d1a15: feat: rewrite decrypt helper with SBS/ptrace spawn paths (@londek)
- a8a7132: feat: strip watch binaries pre-install (@londek)
- 1844a4c: fix: ergonomy fixes for non-tty (@londek)
- 4ce9e37: fix: use path correctly to not break windows targets (@londek)
- 34b1848: refactor: fix letter case in log (@londek)
- 167136b: refactor: improve log message inconsistencies (@londek)
