diff --git a/resources/depends.sh b/resources/depends.sh index 64f4c2e..32d6b67 100755 --- a/resources/depends.sh +++ b/resources/depends.sh @@ -181,7 +181,7 @@ InstallDepends() { elif [[ $platform == "win" ]]; then pacman -Sy --noconfirm --needed ca-certificates curl openssh unzip zip - SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/tools_win.zip tools_win.zip a34cbce38d89f96b97e62199aece78a58dd00e15 + SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/tools_win.zip tools_win.zip 4433ad5d6661cb5a374edccf771d4f2b761e7e46 Log "Extracting Windows tools..." unzip -oq tools_win.zip -d ../resources libimobiledevice=("https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/libimobiledevice_win.zip" "75ae3af3347b89107f0f6b7e41fde42e6ccdd404") diff --git a/resources/downgrade.sh b/resources/downgrade.sh index 7771ebd..4a16695 100755 --- a/resources/downgrade.sh +++ b/resources/downgrade.sh @@ -36,7 +36,7 @@ FutureRestore() { local ExtraArgs=() Log "Proceeding to futurerestore..." - if [[ $platform != "win" ]]; then + if [[ $IPSWA7 != 1 ]]; then ExtraArgs+=("--use-pwndfu") cd resources $SimpleHTTPServer & @@ -46,7 +46,7 @@ FutureRestore() { if [[ $DeviceProc == 7 ]]; then ExtraArgs+=("-s" "$IPSWRestore/Firmware/all_flash/$SEP" "-m" "$BuildManifest") - if [[ $platform != "win" ]]; then + if [[ $IPSWA7 != 1 ]]; then # Send dummy file for device detection $irecovery -f README.md sleep 2 @@ -146,10 +146,43 @@ DowngradeOTAWin() { iDeviceRestore } +IPSWCustomA7() { + if [[ $platform == "macos" ]]; then + fr194=("https://github.com/futurerestore/futurerestore/releases/download/194/futurerestore-v194-macOS.tar.xz" "d279423dd9a12d3a7eceaeb7e01beb332c306aaa") + elif [[ $platform == "linux" ]]; then + fr194=("https://github.com/futurerestore/futurerestore/releases/download/194/futurerestore-v194-ubuntu_20.04.2.tar.xz" "9f2b4b6cc6710d1d68880711001d2dc5b4cb9407") + fi + Input "Custom IPSW Option" + Echo "* When this option is enabled, a custom IPSW will be created/used for restoring." + Echo "* Only enable this when you encounter problems with futurerestore." + Echo "* This option is disabled by default (N)." + read -p "$(Input 'Enable this option? (y/N):')" IPSWA7 + if [[ $IPSWA7 != 'Y' && $IPSWA7 != 'y' ]]; then + return + fi + IPSWA7=1 + Log "Custom IPSW option enabled by user." + futurerestore="./resources/tools/futurerestore194_$platform" + if [[ ! -e $futurerestore ]]; then + cd tmp + SaveFile ${fr194[0]} futurerestore.tar.xz ${fr194[1]} + 7z x futurerestore.tar.xz + tar -xf futurerestore*.tar + chmod +x futurerestore-v194 + mv futurerestore-v194 ../$futurerestore + cd .. + fi + } + Downgrade() { Log "Select your options when asked. If unsure, go for the defaults (press Enter/Return)." echo - if [[ $platform == "win" ]]; then + + if [[ $DeviceProc == 7 && $platform != "win" ]]; then + IPSWCustomA7 + fi + + if [[ $platform == "win" || $IPSWA7 == 1 ]]; then DowngradeOTAWin return elif [[ $OSVer == "Other" ]]; then diff --git a/resources/patches/iBEC.ipad4.RELEASE.patch b/resources/patches/iBEC.ipad4.RELEASE.patch new file mode 100644 index 0000000..815bf19 Binary files /dev/null and b/resources/patches/iBEC.ipad4.RELEASE.patch differ diff --git a/resources/patches/iBEC.ipad4b.RELEASE.patch b/resources/patches/iBEC.ipad4b.RELEASE.patch new file mode 100644 index 0000000..3ca5ecf Binary files /dev/null and b/resources/patches/iBEC.ipad4b.RELEASE.patch differ diff --git a/resources/patches/iBEC.iphone6.RELEASE.patch b/resources/patches/iBEC.iphone6.RELEASE.patch new file mode 100644 index 0000000..bdf40c4 Binary files /dev/null and b/resources/patches/iBEC.iphone6.RELEASE.patch differ diff --git a/resources/patches/iBSS.ipad4.RELEASE.patch b/resources/patches/iBSS.ipad4.RELEASE.patch new file mode 100644 index 0000000..ca3f6ec Binary files /dev/null and b/resources/patches/iBSS.ipad4.RELEASE.patch differ diff --git a/resources/patches/iBSS.ipad4b.RELEASE.patch b/resources/patches/iBSS.ipad4b.RELEASE.patch new file mode 100644 index 0000000..a3d7e42 Binary files /dev/null and b/resources/patches/iBSS.ipad4b.RELEASE.patch differ diff --git a/resources/patches/iBSS.iphone6.RELEASE.patch b/resources/patches/iBSS.iphone6.RELEASE.patch new file mode 100644 index 0000000..c249c59 Binary files /dev/null and b/resources/patches/iBSS.iphone6.RELEASE.patch differ