Update readme and stuff

- rename manifests
- remove manifest check from script
This commit is contained in:
LukeeGD 2020-03-03 08:16:32 +08:00
parent 71013168e6
commit b7c711a170
24 changed files with 14 additions and 21 deletions

View File

@ -1,12 +1,12 @@
# 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**
## Prerequisites:
- **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**
- 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 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/)
@ -36,14 +36,13 @@
- 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 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
- For VMWare users, enable Autoconnect USB Devices
- This script should also work on virtual machines, but I won't provide support on them
## Linux distros tested on:
- [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
- [Arch Linux](https://www.archlinux.org/) install
- [Manjaro](https://manjaro.org/) live USB
- [Arch Linux](https://www.archlinux.org/) full install
- [Manjaro](https://manjaro.org/) live USB and full install
## Tools used by this script:
- cURL
@ -57,5 +56,6 @@
- [kloader5 (iOS 5)](http://www.pmbonneau.com/cydia/)
- [kloader_hgsp (iOS 10)](https://twitter.com/nyan_satan/status/945203180522045440)
- [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)

View File

@ -1,6 +1,6 @@
#!/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
iPad3,1 iPad3,2 iPad3,3 iPad3,4 iPad3,5 iPad3,6 iPod5,1
)

View File

@ -73,7 +73,6 @@ function Downgrade841 {
iBSS="iBSS.$HardwareModelLower.RELEASE"
DowngradeVersion="8.4.1"
DowngradeBuildVer="12H321"
BuildManifest="resources/manifests/BuildManifest_${ProductType}.plist"
iv=iv_$HardwareModelLower
key=key_$HardwareModelLower
Downgrade
@ -84,7 +83,6 @@ function Downgrade613 {
iBSS="iBSS.${HardwareModelLower}ap.RELEASE"
DowngradeVersion="6.1.3"
DowngradeBuildVer="10B329"
BuildManifest="resources/manifests/BuildManifest613_${ProductType}.plist"
iv=iv_${HardwareModelLower}_613
key=key_${HardwareModelLower}_613
Downgrade
@ -94,6 +92,8 @@ function Downgrade613 {
}
function SaveOTABlobs {
BuildManifest="resources/manifests/BuildManifest_${ProductType}_${DowngradeVersion}.plist"
if [ ! -e ota.json ]; then
echo "Downloading ota.json..."
curl -L -# "https://api.ipsw.me/v2.1/ota.json/condensed" -o "ota.json"
@ -113,14 +113,6 @@ function SaveOTABlobs {
exit
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..."
env "LD_PRELOAD=libcurl.so.3" resources/tools/tsschecker_$platform -d $ProductType -i $DowngradeVersion -o -s -e $UniqueChipID -m $BuildManifest
echo
@ -154,7 +146,7 @@ function Downgrade {
pwnDFU
echo "Preparing for futurerestore..."
echo "Preparing for futurerestore (starting local server)..."
cd resources
sudo python3 -m http.server 80 &
pythonPID=$!
@ -174,13 +166,14 @@ function Downgrade {
echo
echo "futurerestore done!"
echo "If futurerestore failed to download baseband or for some reason, you can choose to retry"
echo "Retry? (y/n)"
read retry
if [ retry != y ] && [ retry != Y ]; then
echo "Retry? (y/N)"
read Retry
if [[ Retry != y ]] && [[ Retry != Y ]]; then
ScriptDone=1
fi
done
echo "Stopping local server..."
sudo kill $pythonPID
echo "Downgrade script done!"
exit