From ab2ba29be69fe73385d6a729e99f093c29f70309 Mon Sep 17 00:00:00 2001 From: LukeZGD <26163116+LukeZGD@users.noreply.github.com> Date: Fri, 19 May 2023 16:17:38 +0800 Subject: [PATCH] Update info --- README.md | 32 ++++++++++++++++++++++---------- restore.sh | 49 ++++++++++++++++++------------------------------- 2 files changed, 40 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index e525054..4efc62d 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,6 @@ - Restore to iOS 10.3.3 on supported A7 devices **(OTA signed)** - Option to **jailbreak** iOS 6.1.3 and 8.4.1 restores - Restore to unsigned iOS versions **with SHSH blobs** - - Supports 32-bit devices, iOS 5 to 10 - - Supports A7/A8 devices, see [SEP/BB Compatibility Chart](https://docs.google.com/spreadsheets/d/1Mb1UNm6g3yvdQD67M413GYSaJ4uoNhLgpkc7YKi3LBs/edit#gid=1191207636) - - Also supports iPad 2 iOS 4.3.x, iPhone 4 iOS 4.x - Restore to unsigned iOS versions **with iOS 7.1.x blobs (powdersn0w)** - Device support is limited, see below - The latest baseband will be used for 32-bit devices if applicable @@ -25,15 +22,13 @@ - Restore supported devices to their latest iOS version - Save onboard and Cydia SHSH blobs for 32-bit devices - Boot SSH Ramdisk on supported 32-bit devices +- Pwning supported iOS devices using limera1n or checkm8 with iPwnder/gaster +- Device activation using ideviceactivation on Linux ## Supported devices - [Identify your device here](https://ipsw.me/device-finder) -- Restoring with powdersn0w supports the following devices: - - iPhone 4 GSM - iOS 4.3 to 6.1.3 - - iPhone 4S, iPhone 5 (not 5C), iPad 2 Rev A, iPod 5th generation - iOS 5.0 to 6.1.3, 8.0 to 9.3.5 - - Using powdersn0w requires iOS 7.1.x blobs for your device - **iPhone 5C and iPad mini 3 devices are NOT supported by OTA downgrades** - - These devices still support restoring to other iOS versions with SHSH blobs + - These devices still support restoring to other iOS versions with SHSH blobs, see below - See the table below for OTA downgrading support: @@ -68,9 +63,24 @@
+- Restoring with SHSH blobs and using SSH Ramdisks are supported on the following devices: + - Supports most 32-bit devices (iOS 3 to 10, version range depends on device) + - iPhone 3GS, 4, 4S, 5, 5C + - iPad 1, 2, 3, 4, mini 1 + - iPod touch 3, 4, 5 +- Restoring with SHSH blobs is also supported on most A7/A8 devices: + - See [SEP/BB Compatibility Chart](https://docs.google.com/spreadsheets/d/1Mb1UNm6g3yvdQD67M413GYSaJ4uoNhLgpkc7YKi3LBs/edit#gid=1191207636) for iOS versions + - iPhone 5S, 6, 6 Plus + - iPad Air 1, mini 2, mini 3 + - iPod touch 6 +- Restoring with powdersn0w is supported on the following devices: + - iPhone 4 GSM - targets iOS 4.3 to 6.1.3 + - iPhone 4S, iPhone 5 (not 5C), iPad 2 Rev A, iPod 5th generation - targets iOS 5.0 to 6.1.3, 8.0 to 9.3.5 + - Using powdersn0w requires iOS 7.1.x blobs for your device + ## Supported OS versions/distros -#### Supported architectures: x86_64, arm64, armhf (Linux) +#### Supported architectures: x86_64, arm64, armhf - [**Ubuntu**](https://ubuntu.com/) 22.04 and newer, and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) - [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/) @@ -90,7 +100,9 @@ - [iPwnder32](https://github.com/dora2-iOS/iPwnder32/tree/243ea5c6d1bd15f8bdd0b3a1ff4a7729bc14bac4) - dora2ios (old version with libusb, used on Linux) - [gaster](https://github.com/0x7ff/gaster/) - 0x7ff - [daibutsuCFW](https://github.com/dora2-iOS/daibutsuCFW) - dora2ios; [LukeZGD fork](https://github.com/LukeZGD/daibutsuCFW) -- [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice), [libirecovery](https://github.com/libimobiledevice/libirecovery) - libimobiledevice +- [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice) - libimobiledevice +- [libirecovery](https://github.com/libimobiledevice/libirecovery) - libimobiledevice +- [libideviceactivation](https://github.com/libimobiledevice/libideviceactivation) - libimobiledevice - [tsschecker](https://github.com/tihmstar/tsschecker) - tihmstar; [1Conan fork](https://github.com/1Conan/tsschecker) v413 - [futurerestore](https://github.com/tihmstar/futurerestore) - tihmstar; - [LukeZGD fork](https://github.com/LukeZGD/futurerestore) used on Linux for restoring 32-bit devices diff --git a/restore.sh b/restore.sh index de0b3e6..fdc6972 100755 --- a/restore.sh +++ b/restore.sh @@ -142,7 +142,7 @@ set_tool_paths() { elif [[ $ID == "opensuse-tumbleweed" ]]; then distro="opensuse" else - error "Your distro is not detected/supported. See the repo README for supported OS versions/distros" + error "Your distro ($platform_ver) is not detected/supported. See the repo README for supported OS versions/distros" fi jq="$(which jq)" @@ -305,8 +305,8 @@ set_tool_paths() { idevicererestore+="$dir/idevicererestore" ipwnder+="$dir/ipwnder" irecovery2+="$dir/irecovery2" - scp="scp -F ../resources/ssh_config" - ssh="ssh -F ../resources/ssh_config" + scp2="scp -F ../resources/ssh_config" + ssh2="ssh -F ../resources/ssh_config" } install_depends() { @@ -446,13 +446,13 @@ device_get_info() { fi if [[ -z $device_mode ]]; then - local error_msg=$'* Make sure to also trust this computer by selecting "Trust" at the pop-up.' + local error_msg=$'* Make sure to trust this computer by selecting "Trust" at the pop-up.' + [[ $platform == "macos" ]] && error_msg+=$'\n* Make sure to have the initial setup dependencies installed before retrying.' [[ $platform != "linux" ]] && error_msg+=$'\n* Double-check if the device is being detected by iTunes/Finder.' - [[ $platform == "macos" ]] && error_msg+=$'\n* Make sure to have libimobiledevice and libirecovery installed from Homebrew/MacPorts before retrying.' - if [[ $platform == "linux" ]]; then - error_msg+=$'\n* Try running the script again and enable sudoloop mode.' - touch ../resources/sudoloop - fi + #if [[ $platform == "linux" ]]; then + #error_msg+=$'\n* Try running the script again and enable sudoloop mode.' + #touch ../resources/sudoloop + #fi error_msg+=$'\n* For more details, read the "Troubleshooting" wiki page in GitHub.\n* Troubleshooting link: https://github.com/LukeZGD/Legacy-iOS-Kit/wiki/Troubleshooting' error "No device found! Please connect the iOS device to proceed." "$error_msg" fi @@ -552,7 +552,7 @@ device_get_info() { ;; esac # set device_use_bb, device_use_bb_sha1 (what baseband to use for ota/other) - # for a7/a8 other restores 11.3+, device_latest_bb and device_latest_bb_sha1 are used + # for a7/a8 other restores 11.3+, device_latest_bb and device_latest_bb_sha1 are used instead case $device_type in iPhone3,[12] ) # XMM6180 7.1.2 device_use_bb="ICE3_04.12.09_BOOT_02.13.Release.bbfw" @@ -609,7 +609,7 @@ device_get_info() { device_latest_bb_sha1="7ec8d734da78ca2bb1ba202afdbb6fe3fd093cb0" ;; esac - # disable baseband update for these devices ipad 2 cellular + # disable baseband update for ipad 2 cellular devices case $device_type in iPad2,[23] ) device_disable_bbupdate=$device_type;; esac @@ -667,7 +667,7 @@ device_find_mode() { if [[ $device_in != 1 ]]; then if [[ $timeout != 1 ]]; then - touch ../resources/sudoloop + #touch ../resources/sudoloop error "Failed to find device in $1 mode (Timed out). Please run the script again." fi return 1 @@ -684,8 +684,8 @@ device_sshpass() { if [[ -z $pass ]]; then pass="alpine" fi - scp="$dir/sshpass -p $pass $scp" - ssh="$dir/sshpass -p $pass $ssh" + scp="$dir/sshpass -p $pass $scp2" + ssh="$dir/sshpass -p $pass $ssh2" } device_enter_mode() { @@ -782,7 +782,7 @@ device_enter_mode() { log "Entering kDFU mode..." print "* This may take a while, but should not take longer than a minute." if [[ $device_det == 1 ]]; then - print "* If the script seems to be stuck here, try to start over from step 1 the GitHub wiki." + print "* If the script seems to be stuck here, try to start over from step 1 in the GitHub wiki." fi $scp -P 2222 ${sendfiles[@]} root@127.0.0.1:/tmp if [[ $? == 0 ]]; then @@ -2359,26 +2359,15 @@ device_ramdisk() { log "Sending clear NVRAM commands..." $ssh -p 2222 root@127.0.0.1 "nvram -c; reboot_bak" log "Done! Your device should reboot now." - echo print "* If the device did not connect, SSH to the device manually." - print "* To access SSH ramdisk, run iproxy first:" - print " iproxy 2022 22" - print "* Then SSH to 127.0.0.1:2022" - print " ssh -p 2022 -oHostKeyAlgorithms=+ssh-rsa root@127.0.0.1" - print "* Enter root password:" - print " alpine" - print "* Clear NVRAM with this command:" - print " nvram -c" - print "* To reboot, use this command:" - print " reboot_bak" kill $iproxy_pid - return + else + log "Device should now be in SSH ramdisk mode." fi - log "Device should now be in SSH ramdisk mode." echo print "* To access SSH ramdisk, run iproxy first:" print " iproxy 2022 22" - print "* Then SSH to 127.0.0.1:2022" + print "* Then SSH to 127.0.0.1 port 2022:" print " ssh -p 2022 -oHostKeyAlgorithms=+ssh-rsa root@127.0.0.1" print "* Enter root password:" print " alpine" @@ -2397,8 +2386,6 @@ shsh_save_onboard() { print "* You may also need iTunes 12.4.3 or older for shshdump to work" pause fi - device_target_other=1 - print "* Download and select the IPSW of your current iOS version." device_enter_mode kDFU patch_ibec log "Sending iBEC..."