1316 Commits

Author SHA1 Message Date
LukeeGD
fade3326f6 some changes for dumping onboards 32-bit 2025-06-30 08:00:17 +08:00
LukeeGD
96a621efad Add batch dumping apps to ipa as "Dump All Apps as IPA" 2025-06-29 11:38:58 +08:00
LukeeGD
910ec048fa An update 2025-06-29 08:54:21 +08:00
LukeeGD
461abb078e another fix
thanks gnu tar for breaking, lol
2025-06-25 15:39:16 +08:00
LukeeGD
b00ee46a44 Fix some things 2025-06-25 09:42:03 +08:00
LukeeGD
cff0c08340 Some changes
- dont use --no-rsep for i 16.x restores
- dont do alloc8 install if restore fails/errors out
- update ipwndfu. do not usb reset on execute on intel macs

some changes for #773
2025-06-25 01:10:31 +08:00
LukeeGD
a6db8e6c3b update ipwndfu and fr dev and fixes
- revert ipwndfu pyusb while keeping libusb1 fixes (hopefully helps #773)
- update futurerestore dev to latest (hopefully helps #772)
- change (( device_det >= 10 )) to [[ $device_det == 10 ]]; the mitigations and use cases that have this condition are only applicable to ios 10
2025-06-24 11:21:56 +08:00
Ricky Cheung
fe18095175 Add support for dumping apps (#770)
* Initial support for dumping apps

Use Clutch to achieve app dumping, the general procedure is as follows:
* Send Clutch binary to the device
* Execute Clutch binary for app dumping
* Retrieve from device
* Cleanup IPA on device

Currently, three versions of Clutch will be needed.
* resources/clutch/clutch -> iOS 8+
* resources/clutch/clutch204 -> iOS 6 - 7
* resources/clutch/clutch13 -> iOS 5

* Ask for confirmation before deleting on-device dumped IPAs

* Add selection menu listing all user apps for dumping

Also, include it all inside a while true loop, so the user can dump
more than one app at once.

* Add note on time required for app dumps

* Enable usage for Clutch on 12.0.x only

iOS 12.1 introduced new code signature things that this version of
Clutch will not support.

* Update Clutch 2.0.4 (for iOS 6 - 7)

Repo: https://github.com/rcky844/Clutch.git (branch: ios6)

Updated binary contains backported changes to a version compatible
with Xcode 7.2 so we get iOS 6 support. This also causes it to exit
properly if it got stuck.

* Add ipainstaller for dumping apps

ipainstaller repo: https://github.com/rcky844/ipainstaller.git

Retain Clutch as an option for supported iOS versions, while expand
the supported versions to iOS 4.0+ with ipainstaller.

Update the dumping system to always copy dumped IPAs from /tmp.

* Apply entitlements to app dump binaries

* Change name of output IPA

Format: [CFBundleDisplayName/CFBundleExecutable] [CFBundleShortVersionString].ipa

---------

Co-authored-by: Ricky Cheung <rcheung844@gmail.com>
2025-06-24 09:57:12 +08:00
LukeeGD
229f85da7a Add warning for cases like #772 2025-06-24 09:47:47 +08:00
LukeeGD
688129cc9a Fix #771 2025-06-22 19:47:41 +08:00
Ricky Cheung
efc93520ec Unify $device_det variables (#769)
We can ask `cut` to provide us with the value before a delimiter
so we can obtain the current major version.

The original implemention will become a bad idea as Apple starts
shifting to using years as major versions, confusing the tool
into thinking it might be running very legacy iOS versions.

This also fixes issues with saving onboard SHSH for 64-bit devices
on versions before 10.x.

Co-authored-by: Ricky Cheung <rcheung844@gmail.com>
2025-06-21 16:27:38 +08:00
LukeeGD
1eb1ca0a48 Fix device_latest_vers/build issue
in hindsight i shouldve seen this
2025-06-19 18:07:53 +08:00
LukeeGD
464f76ffa9 Some updates for restoring to latest ios for 64-bit devices (linux only) 2025-06-19 12:39:37 +08:00
LukeeGD
943a2bcc22 Revert PlistBuddy update
This (partially) reverts commit 1e407522c7.
2025-06-18 12:23:46 +08:00
LukeeGD
e8eb4d6f0c Fix ipwnder32 libusb usage for a6 linux 2025-06-18 09:01:42 +08:00
LukeeGD
955f22c46a Update ipwndfu again to use latest pyusb, and other changes
- ipwndfu pyusb update doesnt really change much, but the bug fixes are good ig
- launching on macos lower than 10.11 is now an error again. 10.11 is the lowest, and support will never go any lower bc of libressl
- remove build-essential from apt install
- update primepwn to return 1 when send data for unpacked ibss fails (macos x86_64 bin is not updated yet since i dont have my intel mac with me rn)
2025-06-17 20:30:17 +08:00
LukeeGD
b864704fa2 Update ipwndfu to fix libusb error on linux 2025-06-17 07:26:15 +08:00
LukeeGD
75e4ba2215 apply appledb url fix on getting sha1 too
and other fixes
2025-06-16 22:42:18 +08:00
LukeeGD
1d622911ed Save cryptex apticket and seed when dumping blobs for iOS 16+
also add to name list macos taho
2025-06-16 15:07:29 +08:00
LukeeGD
d2bf546622 move a6 send unpacked ibss within pwnd check 2025-06-14 18:42:30 +08:00
LukeeGD
ff8c9a9503 Check for xcode command line tools on startup macos 2025-06-13 18:33:33 +08:00
LukeeGD
1e407522c7 An update
- not sure if lik is affected by the rfc4648_decode assert issue, but update plistbuddy bins just in case
2025-06-12 11:11:09 +08:00
LukeeGD
00b868ee4a Update build.yml 2025-06-10 22:38:41 +08:00
LukeeGD
1b147ddd8b Some changes and fixes
- no more python check, let the ipwndfu shebang do the work. hopefully fixes #763
- add existing jailbreak check on ramdisk jailbreak before jailbreaking. for #764
- update primepwn to check for cpid in serial string. fixes issue where it errors out on devices in kdfu
2025-06-10 22:32:52 +08:00
LukeeGD
f6157781f7 reduce linux deps, use darkhttpd for fr local server, fix appledb url getting
fix appledb url getting closes #761
2025-06-09 09:09:34 +08:00
LukeeGD
4735cffcaf An update 2025-06-08 18:52:07 +08:00
LukeeGD
ab41d7ad56 Update restore.sh 2025-06-06 11:03:24 +08:00
LukeeGD
e93f88feac Update build.yml 2025-06-06 11:01:12 +08:00
LukeeGD
0785fb8428 bye bye python2. update ipwndfu 2025-06-06 10:48:33 +08:00
LukeeGD
da82461012 Update ipwnder and ipwndfu for alloc8 stuff, prepare ipwndfu update/removal
fix ipwndfu reliability issue on nor dump for installing alloc8

also enable hacktivating on ipod4,1, closes #756

now that all of ipwnder can be used just fine for alloc8 installing, ipwndfu is no longer used for pwning at all.

the only use case left for ipwndfu is for alloc8 installation. it used to suck on apple silicon macs (random operation time outs all the time) but now that has been fixed as i tested.

now im working on getting ipwndfu working on python3, or even better, port/write the alloc8 installation process to c.

best case: ipwndfu gets completely replaced with a c implementation for alloc8 installation.

moderate case: ipwndfu is ported over to python3. i've tried this for a bit but i have moved on to working on a c port for now.

meh case: leave ipwndfu as is. pyenv/python2 is still used and persists along with the build times and possible issues. but at least it works ig
2025-06-06 09:20:51 +08:00
LukeeGD
87ce09c917 Update ipwnder and gaster for a6 and a7 pwning on linux 2025-06-04 11:30:39 +08:00
LukeeGD
ef4b392141 Fix just boot 2025-06-03 15:59:09 +08:00
LukeeGD
9113a4f55e Prepare the device first (enter kdfu/pwndfu) before doing ipsw/rd stuff 2025-06-03 14:46:32 +08:00
LukeeGD
7f22aabba6 More fixes for sshrd jailbreak and other things 2025-06-03 12:06:05 +08:00
LukeeGD
9b1fcd988f Fix 4.2.x regression/break on sshrd jailbreak 2025-06-03 09:48:12 +08:00
LukeeGD
045d53a0d4 Remove outdated messages 2025-06-02 21:25:23 +08:00
LukeeGD
07cd33d388 Fix fstab issue on semi-tether 2025-06-02 13:32:39 +08:00
LukeeGD
64bfdb05fc Fix semi-tether stuff (ipad 2 4.3.x, 4 cdma 4.2.x) 2025-06-02 12:17:56 +08:00
LukeeGD
315e02d03f Reduce ipwndfu usage even further: use primepwn
- primepwn is now used for pwning a4/touch 2 devices, as well as sending unpacked ibss to pwned a5/a6 devices
- the only major usage of ipwndfu left is for installing alloc8
2025-06-02 00:12:22 +08:00
LukeeGD
c7724256d5 ipwnder default/1st option for a4/3gs/touch 3 on linux
- this is done as part of lik moving away from reliance on ipwndfu
- next up will be replacing `ipwndfu -l` for sending ibss on pwned a5 (and a6 if pwned with ipwndfu)
- maybe a shatter implementation from ipwndfu too for a4 devices
2025-06-01 08:17:32 +08:00
LukeeGD
6e784bc0b7 Use steaks4uce-c for pwning touch 2 2025-05-31 20:38:28 +08:00
LukeeGD
7827733b8b Place pwning a6 and a7 for linux on top
these require ipwndfu on linux so here they are
2025-05-31 11:13:04 +08:00
LukeeGD
5debf7c4d3 Update gaster with A7 fixed (by Alfie, based on rmsigchks.py by Linus Henze)
- gaster is now always used for all 64-bit checkm8 devices
2025-05-31 11:08:17 +08:00
LukeeGD
38b87278b0 more updates for ipwndfu/pyenv/python2 stuff 2025-05-30 17:47:44 +08:00
LukeeGD
778ec85fd9 rename gasgauge-patch to multipatch, always use shsh2 for blob saving 64-bit
- rename gasgauge-patch to multipatch because it isnt just for getting past gasgauge anymore, it also patches restored_external for getting past the invalid ticket error. using --gasgauge-patch instead of --multipatch will still work
- rename all instances of 64-bit blob dumping/saving from shsh to shsh2 extension for consistency, and since all blobs that have a generator are considered as shsh2 so shsh2 is more appropriate
2025-05-29 19:00:31 +08:00
LukeeGD
57f416ec27 Re-arrange stuff in device_ipwndfu (fixes #747) 2025-05-28 21:31:58 +08:00
LukeeGD
c20de2812c update idevicerestore and ideviceactivation linux, and other script fixes
- rebuild idevicerestore and ideviceactivation, with no more conflicts this time. it shouldnt segfault or error out anymore
- fix pushd relative path issue
- jailbreak with g1lbertjb userland tool on normal mode only
2025-05-27 18:20:53 +08:00
LukeeGD
1b849e22b9 revert idevicerestore linux bins for now
well ig this and ideviceactivation are the 2 binaries that have "conflicts" according to the build logs, so it makes sense that they will have issues (although idr worked fine for me). ill just have to figure out how to fix the conflict now before updating them again (by compiling static libcurl lib)
2025-05-27 06:39:02 +08:00
LukeeGD
2a87134984 revert ideviceactivation for now to fix issue (temp workaround) 2025-05-26 19:34:49 +08:00
LukeeGD
fb7130338f fix idevicerestore error out on linux 2025-05-26 18:19:52 +08:00