diff --git a/README.md b/README.md index 8a7eb61..baff8e0 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ - Clear NVRAM for iPhone 4 GSM (Disable/Enable Exploit) - Restore iPhone 4 to iOS 7.1.2 with the option to jailbreak - Restore supported devices to their latest iOS version -- Save on-board SHSH blobs for 32-bit devices +- Save on-board and Cydia SHSH blobs for 32-bit devices ## Supported devices - [Identify your device here](https://ipsw.me/device-finder) diff --git a/bin/linux/arm/tsschecker b/bin/linux/arm/tsschecker index 7423954..35c079d 100755 Binary files a/bin/linux/arm/tsschecker and b/bin/linux/arm/tsschecker differ diff --git a/bin/linux/arm64/tsschecker b/bin/linux/arm64/tsschecker index 10eaaf7..8d1f56c 100755 Binary files a/bin/linux/arm64/tsschecker and b/bin/linux/arm64/tsschecker differ diff --git a/bin/linux/x86_64/tsschecker b/bin/linux/x86_64/tsschecker index ccafd87..afdf263 100755 Binary files a/bin/linux/x86_64/tsschecker and b/bin/linux/x86_64/tsschecker differ diff --git a/bin/macos/tsschecker b/bin/macos/tsschecker index 0e146f8..7ba0003 100755 Binary files a/bin/macos/tsschecker and b/bin/macos/tsschecker differ diff --git a/bin/windows/tsschecker b/bin/windows/tsschecker index 7047422..dc68af4 100644 Binary files a/bin/windows/tsschecker and b/bin/windows/tsschecker differ diff --git a/restore.sh b/restore.sh index 0f0a0bc..6cd2cb8 100755 --- a/restore.sh +++ b/restore.sh @@ -965,6 +965,10 @@ main_menu() { if [[ $device_proc != 4 && $device_proc != 8 ]]; then tmp_items+=("Save OTA Blobs") fi + # Save Cydia blobs for 32-bit only + if (( device_proc < 7 )); then + tmp_items+=("Save Cydia Blobs") + fi if [[ $device_proc != 8 ]]; then tmp_items+=("Create Custom IPSW") fi @@ -984,6 +988,7 @@ main_menu() { "SSH Ramdisk" ) mode="ramdisk4"; break;; "Send Pwned iBSS" ) mode="pwned-ibss"; break;; "Save Onboard Blobs" ) mode="save-onboard-blobs"; break;; + "Save Cydia Blobs" ) mode="save-cydia-blobs"; break;; "(Re-)Install Dependencies" ) install_depends;; * ) break;; esac @@ -2310,6 +2315,28 @@ shsh_save_onboard() { log "Successfully saved $device_target_vers blobs: saved/shsh/$device_ecid-$device_type-$device_target_vers.shsh" } +shsh_save_cydia() { + local json=$(curl "https://firmware-keys.ipsw.me/device/$device_type") + local len=$(echo "$json" | jq length) + local builds=() + local i=0 + while (( i < len )); do + builds+=($(echo "$json" | jq -r ".[$i].buildid")) + ((i++)) + done + for build in ${builds[@]}; do + printf "\n$build " + "$dir/tsschecker" -d $device_type -e $device_ecid -S "http://cydia.saurik.com/TSS/controller?action=2/" -s -g 0x1111111111111111 --buildid $build >/dev/null + if [[ $(ls *$build* 2>/dev/null) ]]; then + printf "saved" + mv $(ls *$build*) ../saved/shsh/$device_ecid-$device_type-$build.shsh + else + printf "failed" + fi + done + echo +} + main() { clear print "******* iOS-OTA-Downgrader *******" @@ -2401,6 +2428,10 @@ main() { shsh_save_onboard ;; + "save-cydia-blobs" ) + shsh_save_cydia + ;; + * ) log "No valid option selected." ;;