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:
+- 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..."