mirror of
https://github.com/LukeZGD/Legacy-iOS-Kit.git
synced 2024-12-24 15:21:49 +01:00
Update info
This commit is contained in:
parent
fbd4ec44bd
commit
ab2ba29be6
32
README.md
32
README.md
@ -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
|
||||||
|
49
restore.sh
49
restore.sh
@ -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..."
|
||||||
|
Loading…
Reference in New Issue
Block a user