Update info

This commit is contained in:
LukeZGD 2023-05-19 16:17:38 +08:00
parent fbd4ec44bd
commit ab2ba29be6
2 changed files with 40 additions and 41 deletions

View File

@ -13,9 +13,6 @@
- Restore to iOS 10.3.3 on supported A7 devices **(OTA signed)** - Restore to iOS 10.3.3 on supported A7 devices **(OTA signed)**
- Option to **jailbreak** iOS 6.1.3 and 8.4.1 restores - Option to **jailbreak** iOS 6.1.3 and 8.4.1 restores
- Restore to unsigned iOS versions **with SHSH blobs** - 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)** - Restore to unsigned iOS versions **with iOS 7.1.x blobs (powdersn0w)**
- Device support is limited, see below - Device support is limited, see below
- The latest baseband will be used for 32-bit devices if applicable - The latest baseband will be used for 32-bit devices if applicable
@ -25,15 +22,13 @@
- Restore supported devices to their latest iOS version - Restore supported devices to their latest iOS version
- Save onboard and Cydia SHSH blobs for 32-bit devices - Save onboard and Cydia SHSH blobs for 32-bit devices
- Boot SSH Ramdisk on supported 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 ## Supported devices
- [Identify your device here](https://ipsw.me/device-finder) - [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** - **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: - See the table below for OTA downgrading support:
<table> <table>
@ -68,9 +63,24 @@
</tbody> </tbody>
</table> </table>
- 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 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/) - [**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/) - [**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) - [iPwnder32](https://github.com/dora2-iOS/iPwnder32/tree/243ea5c6d1bd15f8bdd0b3a1ff4a7729bc14bac4) - dora2ios (old version with libusb, used on Linux)
- [gaster](https://github.com/0x7ff/gaster/) - 0x7ff - [gaster](https://github.com/0x7ff/gaster/) - 0x7ff
- [daibutsuCFW](https://github.com/dora2-iOS/daibutsuCFW) - dora2ios; [LukeZGD fork](https://github.com/LukeZGD/daibutsuCFW) - [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 - [tsschecker](https://github.com/tihmstar/tsschecker) - tihmstar; [1Conan fork](https://github.com/1Conan/tsschecker) v413
- [futurerestore](https://github.com/tihmstar/futurerestore) - tihmstar; - [futurerestore](https://github.com/tihmstar/futurerestore) - tihmstar;
- [LukeZGD fork](https://github.com/LukeZGD/futurerestore) used on Linux for restoring 32-bit devices - [LukeZGD fork](https://github.com/LukeZGD/futurerestore) used on Linux for restoring 32-bit devices

View File

@ -142,7 +142,7 @@ set_tool_paths() {
elif [[ $ID == "opensuse-tumbleweed" ]]; then elif [[ $ID == "opensuse-tumbleweed" ]]; then
distro="opensuse" distro="opensuse"
else 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 fi
jq="$(which jq)" jq="$(which jq)"
@ -305,8 +305,8 @@ set_tool_paths() {
idevicererestore+="$dir/idevicererestore" idevicererestore+="$dir/idevicererestore"
ipwnder+="$dir/ipwnder" ipwnder+="$dir/ipwnder"
irecovery2+="$dir/irecovery2" irecovery2+="$dir/irecovery2"
scp="scp -F ../resources/ssh_config" scp2="scp -F ../resources/ssh_config"
ssh="ssh -F ../resources/ssh_config" ssh2="ssh -F ../resources/ssh_config"
} }
install_depends() { install_depends() {
@ -446,13 +446,13 @@ device_get_info() {
fi fi
if [[ -z $device_mode ]]; then 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 != "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
if [[ $platform == "linux" ]]; then #error_msg+=$'\n* Try running the script again and enable sudoloop mode.'
error_msg+=$'\n* Try running the script again and enable sudoloop mode.' #touch ../resources/sudoloop
touch ../resources/sudoloop #fi
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_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" error "No device found! Please connect the iOS device to proceed." "$error_msg"
fi fi
@ -552,7 +552,7 @@ device_get_info() {
;; ;;
esac esac
# set device_use_bb, device_use_bb_sha1 (what baseband to use for ota/other) # 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 case $device_type in
iPhone3,[12] ) # XMM6180 7.1.2 iPhone3,[12] ) # XMM6180 7.1.2
device_use_bb="ICE3_04.12.09_BOOT_02.13.Release.bbfw" device_use_bb="ICE3_04.12.09_BOOT_02.13.Release.bbfw"
@ -609,7 +609,7 @@ device_get_info() {
device_latest_bb_sha1="7ec8d734da78ca2bb1ba202afdbb6fe3fd093cb0" device_latest_bb_sha1="7ec8d734da78ca2bb1ba202afdbb6fe3fd093cb0"
;; ;;
esac esac
# disable baseband update for these devices ipad 2 cellular # disable baseband update for ipad 2 cellular devices
case $device_type in case $device_type in
iPad2,[23] ) device_disable_bbupdate=$device_type;; iPad2,[23] ) device_disable_bbupdate=$device_type;;
esac esac
@ -667,7 +667,7 @@ device_find_mode() {
if [[ $device_in != 1 ]]; then if [[ $device_in != 1 ]]; then
if [[ $timeout != 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." error "Failed to find device in $1 mode (Timed out). Please run the script again."
fi fi
return 1 return 1
@ -684,8 +684,8 @@ device_sshpass() {
if [[ -z $pass ]]; then if [[ -z $pass ]]; then
pass="alpine" pass="alpine"
fi fi
scp="$dir/sshpass -p $pass $scp" scp="$dir/sshpass -p $pass $scp2"
ssh="$dir/sshpass -p $pass $ssh" ssh="$dir/sshpass -p $pass $ssh2"
} }
device_enter_mode() { device_enter_mode() {
@ -782,7 +782,7 @@ device_enter_mode() {
log "Entering kDFU mode..." log "Entering kDFU mode..."
print "* This may take a while, but should not take longer than a minute." print "* This may take a while, but should not take longer than a minute."
if [[ $device_det == 1 ]]; then 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 fi
$scp -P 2222 ${sendfiles[@]} root@127.0.0.1:/tmp $scp -P 2222 ${sendfiles[@]} root@127.0.0.1:/tmp
if [[ $? == 0 ]]; then if [[ $? == 0 ]]; then
@ -2359,26 +2359,15 @@ device_ramdisk() {
log "Sending clear NVRAM commands..." log "Sending clear NVRAM commands..."
$ssh -p 2222 root@127.0.0.1 "nvram -c; reboot_bak" $ssh -p 2222 root@127.0.0.1 "nvram -c; reboot_bak"
log "Done! Your device should reboot now." log "Done! Your device should reboot now."
echo
print "* If the device did not connect, SSH to the device manually." 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 kill $iproxy_pid
return else
log "Device should now be in SSH ramdisk mode."
fi fi
log "Device should now be in SSH ramdisk mode."
echo echo
print "* To access SSH ramdisk, run iproxy first:" print "* To access SSH ramdisk, run iproxy first:"
print " iproxy 2022 22" 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 " ssh -p 2022 -oHostKeyAlgorithms=+ssh-rsa root@127.0.0.1"
print "* Enter root password:" print "* Enter root password:"
print " alpine" print " alpine"
@ -2397,8 +2386,6 @@ shsh_save_onboard() {
print "* You may also need iTunes 12.4.3 or older for shshdump to work" print "* You may also need iTunes 12.4.3 or older for shshdump to work"
pause pause
fi fi
device_target_other=1
print "* Download and select the IPSW of your current iOS version."
device_enter_mode kDFU device_enter_mode kDFU
patch_ibec patch_ibec
log "Sending iBEC..." log "Sending iBEC..."