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 # 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)

View File

@ -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
) )

View File

@ -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