From b7c711a170c9d8ae3d925ddeff382d84bebeab69 Mon Sep 17 00:00:00 2001 From: LukeeGD Date: Tue, 3 Mar 2020 08:16:32 +0800 Subject: [PATCH] Update readme and stuff - rename manifests - remove manifest check from script --- README.md | 12 +++++------ resources/buildmanifestsaver.sh | 2 +- ...list => BuildManifest_iPad2,1_6.1.3.plist} | 0 ...list => BuildManifest_iPad2,1_8.4.1.plist} | 0 ...list => BuildManifest_iPad2,2_6.1.3.plist} | 0 ...list => BuildManifest_iPad2,2_8.4.1.plist} | 0 ...list => BuildManifest_iPad2,3_6.1.3.plist} | 0 ...list => BuildManifest_iPad2,3_8.4.1.plist} | 0 ...list => BuildManifest_iPad2,4_8.4.1.plist} | 0 ...list => BuildManifest_iPad2,5_8.4.1.plist} | 0 ...list => BuildManifest_iPad2,6_8.4.1.plist} | 0 ...list => BuildManifest_iPad2,7_8.4.1.plist} | 0 ...list => BuildManifest_iPad3,1_8.4.1.plist} | 0 ...list => BuildManifest_iPad3,2_8.4.1.plist} | 0 ...list => BuildManifest_iPad3,3_8.4.1.plist} | 0 ...list => BuildManifest_iPad3,4_8.4.1.plist} | 0 ...list => BuildManifest_iPad3,5_8.4.1.plist} | 0 ...list => BuildManifest_iPad3,6_8.4.1.plist} | 0 ...st => BuildManifest_iPhone4,1_6.1.3.plist} | 0 ...st => BuildManifest_iPhone4,1_8.4.1.plist} | 0 ...st => BuildManifest_iPhone5,1_8.4.1.plist} | 0 ...st => BuildManifest_iPhone5,2_8.4.1.plist} | 0 ...list => BuildManifest_iPod5,1_8.4.1.plist} | 0 restore.sh | 21 +++++++------------ 24 files changed, 14 insertions(+), 21 deletions(-) rename resources/manifests/{BuildManifest613_iPad2,1.plist => BuildManifest_iPad2,1_6.1.3.plist} (100%) rename resources/manifests/{BuildManifest_iPad2,1.plist => BuildManifest_iPad2,1_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest613_iPad2,2.plist => BuildManifest_iPad2,2_6.1.3.plist} (100%) rename resources/manifests/{BuildManifest_iPad2,2.plist => BuildManifest_iPad2,2_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest613_iPad2,3.plist => BuildManifest_iPad2,3_6.1.3.plist} (100%) rename resources/manifests/{BuildManifest_iPad2,3.plist => BuildManifest_iPad2,3_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad2,4.plist => BuildManifest_iPad2,4_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad2,5.plist => BuildManifest_iPad2,5_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad2,6.plist => BuildManifest_iPad2,6_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad2,7.plist => BuildManifest_iPad2,7_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad3,1.plist => BuildManifest_iPad3,1_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad3,2.plist => BuildManifest_iPad3,2_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad3,3.plist => BuildManifest_iPad3,3_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad3,4.plist => BuildManifest_iPad3,4_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad3,5.plist => BuildManifest_iPad3,5_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPad3,6.plist => BuildManifest_iPad3,6_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest613_iPhone4,1.plist => BuildManifest_iPhone4,1_6.1.3.plist} (100%) rename resources/manifests/{BuildManifest_iPhone4,1.plist => BuildManifest_iPhone4,1_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPhone5,1.plist => BuildManifest_iPhone5,1_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPhone5,2.plist => BuildManifest_iPhone5,2_8.4.1.plist} (100%) rename resources/manifests/{BuildManifest_iPod5,1.plist => BuildManifest_iPod5,1_8.4.1.plist} (100%) diff --git a/README.md b/README.md index 98a0036..5b57548 100755 --- a/README.md +++ b/README.md @@ -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) diff --git a/resources/buildmanifestsaver.sh b/resources/buildmanifestsaver.sh index 245c10a..89b6d6e 100755 --- a/resources/buildmanifestsaver.sh +++ b/resources/buildmanifestsaver.sh @@ -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 ) diff --git a/resources/manifests/BuildManifest613_iPad2,1.plist b/resources/manifests/BuildManifest_iPad2,1_6.1.3.plist similarity index 100% rename from resources/manifests/BuildManifest613_iPad2,1.plist rename to resources/manifests/BuildManifest_iPad2,1_6.1.3.plist diff --git a/resources/manifests/BuildManifest_iPad2,1.plist b/resources/manifests/BuildManifest_iPad2,1_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad2,1.plist rename to resources/manifests/BuildManifest_iPad2,1_8.4.1.plist diff --git a/resources/manifests/BuildManifest613_iPad2,2.plist b/resources/manifests/BuildManifest_iPad2,2_6.1.3.plist similarity index 100% rename from resources/manifests/BuildManifest613_iPad2,2.plist rename to resources/manifests/BuildManifest_iPad2,2_6.1.3.plist diff --git a/resources/manifests/BuildManifest_iPad2,2.plist b/resources/manifests/BuildManifest_iPad2,2_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad2,2.plist rename to resources/manifests/BuildManifest_iPad2,2_8.4.1.plist diff --git a/resources/manifests/BuildManifest613_iPad2,3.plist b/resources/manifests/BuildManifest_iPad2,3_6.1.3.plist similarity index 100% rename from resources/manifests/BuildManifest613_iPad2,3.plist rename to resources/manifests/BuildManifest_iPad2,3_6.1.3.plist diff --git a/resources/manifests/BuildManifest_iPad2,3.plist b/resources/manifests/BuildManifest_iPad2,3_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad2,3.plist rename to resources/manifests/BuildManifest_iPad2,3_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad2,4.plist b/resources/manifests/BuildManifest_iPad2,4_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad2,4.plist rename to resources/manifests/BuildManifest_iPad2,4_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad2,5.plist b/resources/manifests/BuildManifest_iPad2,5_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad2,5.plist rename to resources/manifests/BuildManifest_iPad2,5_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad2,6.plist b/resources/manifests/BuildManifest_iPad2,6_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad2,6.plist rename to resources/manifests/BuildManifest_iPad2,6_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad2,7.plist b/resources/manifests/BuildManifest_iPad2,7_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad2,7.plist rename to resources/manifests/BuildManifest_iPad2,7_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad3,1.plist b/resources/manifests/BuildManifest_iPad3,1_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad3,1.plist rename to resources/manifests/BuildManifest_iPad3,1_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad3,2.plist b/resources/manifests/BuildManifest_iPad3,2_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad3,2.plist rename to resources/manifests/BuildManifest_iPad3,2_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad3,3.plist b/resources/manifests/BuildManifest_iPad3,3_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad3,3.plist rename to resources/manifests/BuildManifest_iPad3,3_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad3,4.plist b/resources/manifests/BuildManifest_iPad3,4_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad3,4.plist rename to resources/manifests/BuildManifest_iPad3,4_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad3,5.plist b/resources/manifests/BuildManifest_iPad3,5_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad3,5.plist rename to resources/manifests/BuildManifest_iPad3,5_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPad3,6.plist b/resources/manifests/BuildManifest_iPad3,6_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPad3,6.plist rename to resources/manifests/BuildManifest_iPad3,6_8.4.1.plist diff --git a/resources/manifests/BuildManifest613_iPhone4,1.plist b/resources/manifests/BuildManifest_iPhone4,1_6.1.3.plist similarity index 100% rename from resources/manifests/BuildManifest613_iPhone4,1.plist rename to resources/manifests/BuildManifest_iPhone4,1_6.1.3.plist diff --git a/resources/manifests/BuildManifest_iPhone4,1.plist b/resources/manifests/BuildManifest_iPhone4,1_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPhone4,1.plist rename to resources/manifests/BuildManifest_iPhone4,1_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPhone5,1.plist b/resources/manifests/BuildManifest_iPhone5,1_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPhone5,1.plist rename to resources/manifests/BuildManifest_iPhone5,1_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPhone5,2.plist b/resources/manifests/BuildManifest_iPhone5,2_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPhone5,2.plist rename to resources/manifests/BuildManifest_iPhone5,2_8.4.1.plist diff --git a/resources/manifests/BuildManifest_iPod5,1.plist b/resources/manifests/BuildManifest_iPod5,1_8.4.1.plist similarity index 100% rename from resources/manifests/BuildManifest_iPod5,1.plist rename to resources/manifests/BuildManifest_iPod5,1_8.4.1.plist diff --git a/restore.sh b/restore.sh index 2c6eff8..627dd8d 100755 --- a/restore.sh +++ b/restore.sh @@ -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