mirror of
https://github.com/LukeZGD/Legacy-iOS-Kit.git
synced 2024-11-27 10:24:16 +01:00
Update readme and stuff
- rename manifests - remove manifest check from script
This commit is contained in:
parent
71013168e6
commit
b7c711a170
12
README.md
12
README.md
@ -1,12 +1,12 @@
|
|||||||
# 32bit-OTA-Downgrader
|
# 32bit-OTA-Downgrader
|
||||||
### Downgrade 32-bit iOS devices to iOS 8.4.1 or iOS 6.1.3 (see supported devices below first!!)
|
### Downgrade 32-bit iOS devices to iOS 8.4.1 or iOS 6.1.3 (see supported devices below first!)
|
||||||
- **Please see "Other notes" below to serve as answers for FAQs**
|
- **Please see "Other notes" below to serve as answers for FAQs**
|
||||||
|
|
||||||
## Prerequisites:
|
## Prerequisites:
|
||||||
- **A supported 32-bit device jailbroken on any iOS version** (5 to 10)
|
- **A supported 32-bit device jailbroken on any iOS version** (5 to 10)
|
||||||
- **iOS [8.4.1](https://ipsw.me/8.4.1) or [6.1.3](https://ipsw.me/6.1.3) IPSW for your device**
|
- **iOS [8.4.1](https://ipsw.me/8.4.1) or [6.1.3](https://ipsw.me/6.1.3) IPSW for your device**
|
||||||
- A **Linux install/live USB** (see distros tested on below) (a live USB can be easily created with tools like [**balenaEtcher**](https://www.balena.io/etcher/) or [**Rufus**](https://rufus.ie/))
|
- A **Linux install/live USB** (see distros tested on below) (a live USB can be easily created with tools like [**balenaEtcher**](https://www.balena.io/etcher/) or [**Rufus**](https://rufus.ie/))
|
||||||
- **macOS** (tested on 10.13 and 10.14 only) should also work, but I recommend macOS users to just use other tools like [Vieux](https://github.com/MatthewPierson/Vieux) instead
|
- **macOS** (tested on 10.13 and 10.14 only) should also work, but I won't be able to provide support when the script breaks
|
||||||
- iOS 7/8 Pangu users: install the [latest Pangu 7.1.x Untether (deb)](http://apt.saurik.com/debs/io.pangu.axe7_0.3_iphoneos-arm.deb) or [latest Pangu 8.0-8.1.x Untether (deb)](http://apt.saurik.com/debs/io.pangu.xuanyuansword8_0.5_iphoneos-arm.deb)
|
- iOS 7/8 Pangu users: install the [latest Pangu 7.1.x Untether (deb)](http://apt.saurik.com/debs/io.pangu.axe7_0.3_iphoneos-arm.deb) or [latest Pangu 8.0-8.1.x Untether (deb)](http://apt.saurik.com/debs/io.pangu.xuanyuansword8_0.5_iphoneos-arm.deb)
|
||||||
- iOS 9 and below users: Install [OpenSSH](https://cydia.saurik.com/openssh.html); The computer and device must be on the same network for SSH to work
|
- iOS 9 and below users: Install [OpenSSH](https://cydia.saurik.com/openssh.html); The computer and device must be on the same network for SSH to work
|
||||||
- iOS 10 users: Install [MTerminal](http://cydia.saurik.com/package/com.officialscheduler.mterminal/)
|
- iOS 10 users: Install [MTerminal](http://cydia.saurik.com/package/com.officialscheduler.mterminal/)
|
||||||
@ -36,14 +36,13 @@
|
|||||||
- This script uses the futurerestore method for downgrading, NOT the Odysseus method nor modifying SystemVersion.plist
|
- This script uses the futurerestore method for downgrading, NOT the Odysseus method nor modifying SystemVersion.plist
|
||||||
- This script will use a vanilla/unmodified IPSW to restore
|
- This script will use a vanilla/unmodified IPSW to restore
|
||||||
- This script only uses iBSS patches from bundles for entering pwnDFU mode, NOT for creating a custom IPSW
|
- This script only uses iBSS patches from bundles for entering pwnDFU mode, NOT for creating a custom IPSW
|
||||||
- For VirtualBox users, add a New USB Filter in the VM settings for the iOS device to autoconnect to the VM
|
- This script should also work on virtual machines, but I won't provide support on them
|
||||||
- For VMWare users, enable Autoconnect USB Devices
|
|
||||||
|
|
||||||
## Linux distros tested on:
|
## Linux distros tested on:
|
||||||
- [Lubuntu 16.04](http://cdimage.ubuntu.com/lubuntu/releases/16.04/release/) live USB
|
- [Lubuntu 16.04](http://cdimage.ubuntu.com/lubuntu/releases/16.04/release/) live USB
|
||||||
- [Lubuntu 18.04](http://cdimage.ubuntu.com/lubuntu/releases/18.04/release/) live USB
|
- [Lubuntu 18.04](http://cdimage.ubuntu.com/lubuntu/releases/18.04/release/) live USB
|
||||||
- [Arch Linux](https://www.archlinux.org/) install
|
- [Arch Linux](https://www.archlinux.org/) full install
|
||||||
- [Manjaro](https://manjaro.org/) live USB
|
- [Manjaro](https://manjaro.org/) live USB and full install
|
||||||
|
|
||||||
## Tools used by this script:
|
## Tools used by this script:
|
||||||
- cURL
|
- cURL
|
||||||
@ -57,5 +56,6 @@
|
|||||||
- [kloader5 (iOS 5)](http://www.pmbonneau.com/cydia/)
|
- [kloader5 (iOS 5)](http://www.pmbonneau.com/cydia/)
|
||||||
- [kloader_hgsp (iOS 10)](https://twitter.com/nyan_satan/status/945203180522045440)
|
- [kloader_hgsp (iOS 10)](https://twitter.com/nyan_satan/status/945203180522045440)
|
||||||
- [partialZipBrowser](https://github.com/tihmstar/partialZipBrowser) (used on buildmanifestsaver.sh)
|
- [partialZipBrowser](https://github.com/tihmstar/partialZipBrowser) (used on buildmanifestsaver.sh)
|
||||||
|
- python3 (http.server)
|
||||||
|
|
||||||
- iBSS patches are from [OdysseusOTA](https://www.youtube.com/watch?v=Wo7mGdMcjxw), [OdysseusOTA2](https://www.youtube.com/watch?v=fh0tB6fp0Sc), [alitek12](https://www.mediafire.com/folder/b1z64roy512wd/FirmwareBundles), [gjest](https://files.fm/u/fcbqqdnw)
|
- iBSS patches are from [OdysseusOTA](https://www.youtube.com/watch?v=Wo7mGdMcjxw), [OdysseusOTA2](https://www.youtube.com/watch?v=fh0tB6fp0Sc), [alitek12](https://www.mediafire.com/folder/b1z64roy512wd/FirmwareBundles), [gjest](https://files.fm/u/fcbqqdnw)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
devices=(iPhone4,1 iPhone5,1 iPhone5,2 iPhone5,3 iPhone5,4
|
devices=(iPhone4,1 iPhone5,1 iPhone5,2
|
||||||
iPad2,1 iPad2,2 iPad2,3 iPad2,4 iPad2,5 iPad2,6 iPad2,7
|
iPad2,1 iPad2,2 iPad2,3 iPad2,4 iPad2,5 iPad2,6 iPad2,7
|
||||||
iPad3,1 iPad3,2 iPad3,3 iPad3,4 iPad3,5 iPad3,6 iPod5,1
|
iPad3,1 iPad3,2 iPad3,3 iPad3,4 iPad3,5 iPad3,6 iPod5,1
|
||||||
)
|
)
|
||||||
|
21
restore.sh
21
restore.sh
@ -73,7 +73,6 @@ function Downgrade841 {
|
|||||||
iBSS="iBSS.$HardwareModelLower.RELEASE"
|
iBSS="iBSS.$HardwareModelLower.RELEASE"
|
||||||
DowngradeVersion="8.4.1"
|
DowngradeVersion="8.4.1"
|
||||||
DowngradeBuildVer="12H321"
|
DowngradeBuildVer="12H321"
|
||||||
BuildManifest="resources/manifests/BuildManifest_${ProductType}.plist"
|
|
||||||
iv=iv_$HardwareModelLower
|
iv=iv_$HardwareModelLower
|
||||||
key=key_$HardwareModelLower
|
key=key_$HardwareModelLower
|
||||||
Downgrade
|
Downgrade
|
||||||
@ -84,7 +83,6 @@ function Downgrade613 {
|
|||||||
iBSS="iBSS.${HardwareModelLower}ap.RELEASE"
|
iBSS="iBSS.${HardwareModelLower}ap.RELEASE"
|
||||||
DowngradeVersion="6.1.3"
|
DowngradeVersion="6.1.3"
|
||||||
DowngradeBuildVer="10B329"
|
DowngradeBuildVer="10B329"
|
||||||
BuildManifest="resources/manifests/BuildManifest613_${ProductType}.plist"
|
|
||||||
iv=iv_${HardwareModelLower}_613
|
iv=iv_${HardwareModelLower}_613
|
||||||
key=key_${HardwareModelLower}_613
|
key=key_${HardwareModelLower}_613
|
||||||
Downgrade
|
Downgrade
|
||||||
@ -94,6 +92,8 @@ function Downgrade613 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function SaveOTABlobs {
|
function SaveOTABlobs {
|
||||||
|
BuildManifest="resources/manifests/BuildManifest_${ProductType}_${DowngradeVersion}.plist"
|
||||||
|
|
||||||
if [ ! -e ota.json ]; then
|
if [ ! -e ota.json ]; then
|
||||||
echo "Downloading ota.json..."
|
echo "Downloading ota.json..."
|
||||||
curl -L -# "https://api.ipsw.me/v2.1/ota.json/condensed" -o "ota.json"
|
curl -L -# "https://api.ipsw.me/v2.1/ota.json/condensed" -o "ota.json"
|
||||||
@ -113,14 +113,6 @@ function SaveOTABlobs {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Extracting BuildManifest.plist..."
|
|
||||||
echo
|
|
||||||
if [ ! -e $BuildManifest ]; then
|
|
||||||
echo "Download/extract BuildManifest.plist failed. Please run the script again"
|
|
||||||
rm -rf tmp/
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Saving $DowngradeVersion blobs with tsschecker..."
|
echo "Saving $DowngradeVersion blobs with tsschecker..."
|
||||||
env "LD_PRELOAD=libcurl.so.3" resources/tools/tsschecker_$platform -d $ProductType -i $DowngradeVersion -o -s -e $UniqueChipID -m $BuildManifest
|
env "LD_PRELOAD=libcurl.so.3" resources/tools/tsschecker_$platform -d $ProductType -i $DowngradeVersion -o -s -e $UniqueChipID -m $BuildManifest
|
||||||
echo
|
echo
|
||||||
@ -154,7 +146,7 @@ function Downgrade {
|
|||||||
|
|
||||||
pwnDFU
|
pwnDFU
|
||||||
|
|
||||||
echo "Preparing for futurerestore..."
|
echo "Preparing for futurerestore (starting local server)..."
|
||||||
cd resources
|
cd resources
|
||||||
sudo python3 -m http.server 80 &
|
sudo python3 -m http.server 80 &
|
||||||
pythonPID=$!
|
pythonPID=$!
|
||||||
@ -174,13 +166,14 @@ function Downgrade {
|
|||||||
echo
|
echo
|
||||||
echo "futurerestore done!"
|
echo "futurerestore done!"
|
||||||
echo "If futurerestore failed to download baseband or for some reason, you can choose to retry"
|
echo "If futurerestore failed to download baseband or for some reason, you can choose to retry"
|
||||||
echo "Retry? (y/n)"
|
echo "Retry? (y/N)"
|
||||||
read retry
|
read Retry
|
||||||
if [ retry != y ] && [ retry != Y ]; then
|
if [[ Retry != y ]] && [[ Retry != Y ]]; then
|
||||||
ScriptDone=1
|
ScriptDone=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo "Stopping local server..."
|
||||||
sudo kill $pythonPID
|
sudo kill $pythonPID
|
||||||
echo "Downgrade script done!"
|
echo "Downgrade script done!"
|
||||||
exit
|
exit
|
||||||
|
Loading…
Reference in New Issue
Block a user