From 5b773d3b4a8bd1fab9fe587d814a21f2740f4674 Mon Sep 17 00:00:00 2001 From: LukeZGD Date: Tue, 9 Nov 2021 09:55:51 +0800 Subject: [PATCH] Fix the custom IPSW option from main menu Creating the custom IPSW from the main menu doesn't actually bundle a jailbreak, oops. This has been fixed here --- resources/downgrade.sh | 63 ++++++++---------------------------------- resources/ipsw.sh | 33 ++++++++++++++++++++++ restore.sh | 12 ++++---- 3 files changed, 50 insertions(+), 58 deletions(-) diff --git a/resources/downgrade.sh b/resources/downgrade.sh index c2b1fb4..56cd132 100755 --- a/resources/downgrade.sh +++ b/resources/downgrade.sh @@ -38,7 +38,6 @@ Downgrade() { local IPSWSHA1 local IPSWSHA1L local Jailbreak - local JBName local Verify=1 Log "Select your options when asked. If unsure, go for the defaults (press Enter/Return)." @@ -62,33 +61,18 @@ Downgrade() { curl -L https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/raw/master/$ProductType/$BuildVer/index.html -o tmp/index.html mv tmp/index.html resources/firmware/$ProductType/$BuildVer - elif [[ $ProductType == "iPad2,5" || $ProductType == "iPad2,6" || $ProductType == "iPad2,7" ]]; then - Echo "* Jailbreak Option is disabled on iPad mini 1 devices." - Echo "* If you want to jailbreak your device, you need to sideload EtasonJB, HomeDepot, or daibutsu manually." - Input "Press Enter/Return to continue (or press Ctrl+C to cancel)" - read -s - - elif [[ $DeviceProc != 7 ]]; then + if [[ $DeviceProc != 7 ]]; then Input "Jailbreak Option" Echo "* When this option is enabled, your device will be jailbroken on restore." + if [[ $ProductType == "iPad2,5" || $ProductType == "iPad2,6" || $ProductType == "iPad2,7" ]]; then + Echo "* Based on some reported issues, Jailbreak Option might be broken for iPad mini 1 devices." + Echo "* I recommend to disable the option for these devices and sideload EtasonJB, HomeDepot, or daibutsu manually." + fi Echo "* This option is enabled by default (Y)." read -p "$(Input 'Enable this option? (Y/n):')" Jailbreak if [[ $Jailbreak != 'N' && $Jailbreak != 'n' ]]; then - Jailbreak=1 - if [[ $ProductType == "iPhone4,1" || $ProductType == "iPad2,4" || $ProductType == "iPod5,1" ]] || - [[ $ProductType == "iPad3"* && $DeviceProc == 5 ]]; then - [[ $OSVer == "8.4.1" ]] && JBDaibutsu=1 - fi - - if [[ $JBDaibutsu == 1 ]]; then - JBName="daibutsu" - elif [[ $OSVer == "8.4.1" ]]; then - JBName="EtasonJB" - elif [[ $OSVer == "6.1.3" ]]; then - JBName="p0sixspwn" - fi - + JailbreakSet Log "Jailbreak option enabled. Using $JBName for the jailbreak" else Log "Jailbreak option disabled by user." @@ -96,25 +80,14 @@ Downgrade() { echo fi - if [[ $ProductType == "iPhone5,1" ]]; then - Input "Latest Baseband Option" - Echo "* iOS-OTA-Downgrader flashes the iOS 8.4.1 baseband to iPhone5,1." - Echo "* When this option is enabled, the latest baseband will be flashed instead, but beware of problems it may cause." - Echo "* This option is disabled by default (N)." - read -p "$(Input 'Enable this option? (y/N):')" Baseband5 - if [[ $Baseband5 == 'Y' || $Baseband5 == 'y' ]]; then - Baseband5=0 - Log "Latest baseband enabled by user." - else - Baseband841 - Log "Latest baseband disabled. Using iOS 8.4.1 baseband" - fi - echo - - elif [[ $DeviceProc != 7 && $ProductType != "iPad2,2" ]]; then + if [[ $DeviceProc != 7 && $ProductType != "iPad2,2" ]]; then Input "Latest Baseband Option" Echo "* iOS-OTA-Downgrader flashes the latest baseband to 32-bit devices." Echo "* When this option is disabled, iOS 8.4.1 baseband will be flashed instead, but beware of problems it may cause." + if [[ $ProductType == "iPhone5,1" ]]; then + Echo "* Based on some reported issues, the iPhone5,1 in particular may experience issues with the latest baseband." + Echo "* I recommend to disable the option for these devices to flash the iOS 8.4.1 baseband." + fi Echo "* This option is enabled by default (Y)." read -p "$(Input 'Enable this option? (Y/n):')" Baseband5 if [[ $Baseband5 == 'N' || $Baseband5 == 'n' ]]; then @@ -135,19 +108,7 @@ Downgrade() { [[ -e "$IPSWCustom.ipsw" ]] && Verify= fi - if [[ $Jailbreak == 1 && $Verify == 1 ]]; then - Input "Memory Option for creating custom IPSW" - Echo "* This option makes creating the custom IPSW faster, but it requires at least 8GB of RAM." - Echo "* If you do not have enough RAM, disable this option and make sure that you have enough storage space." - Echo "* This option is enabled by default (Y)." - read -p "$(Input 'Enable this option? (Y/n):')" JBMemory - if [[ $JBMemory == 'N' || $JBMemory == 'n' ]]; then - Log "Memory option disabled by user." - else - Log "Memory option enabled." - fi - echo - fi + MemoryOption SaveOTABlobs diff --git a/resources/ipsw.sh b/resources/ipsw.sh index 02893df..6db433d 100755 --- a/resources/ipsw.sh +++ b/resources/ipsw.sh @@ -1,5 +1,38 @@ #!/bin/bash +JailbreakSet() { + Jailbreak=1 + if [[ $ProductType == "iPhone4,1" || $ProductType == "iPad2,4" || $ProductType == "iPad2,5" || + $ProductType == "iPad2,6" || $ProductType == "iPad2,7" || $ProductType == "iPod5,1" ]] || + [[ $ProductType == "iPad3"* && $DeviceProc == 5 ]]; then + [[ $OSVer == "8.4.1" ]] && JBDaibutsu=1 + fi + + if [[ $JBDaibutsu == 1 ]]; then + JBName="daibutsu" + elif [[ $OSVer == "8.4.1" ]]; then + JBName="EtasonJB" + elif [[ $OSVer == "6.1.3" ]]; then + JBName="p0sixspwn" + fi +} + +MemoryOption() { + if [[ $Jailbreak == 1 && $Verify == 1 ]]; then + Input "Memory Option for creating custom IPSW" + Echo "* This option makes creating the custom IPSW faster, but it requires at least 8GB of RAM." + Echo "* If you do not have enough RAM, disable this option and make sure that you have enough storage space." + Echo "* This option is enabled by default (Y)." + read -p "$(Input 'Enable this option? (Y/n):')" JBMemory + if [[ $JBMemory == 'N' || $JBMemory == 'n' ]]; then + Log "Memory option disabled by user." + else + Log "Memory option enabled." + fi + echo + fi +} + IPSW32() { local Bundle="Down_${ProductType}_${OSVer}_${BuildVer}.bundle" local ExtraArgs diff --git a/restore.sh b/restore.sh index b67ef52..4300876 100755 --- a/restore.sh +++ b/restore.sh @@ -134,16 +134,14 @@ Main() { if [[ $Mode == "IPSW32" ]]; then IPSW="${IPSWType}_${OSVer}_${BuildVer}_Restore" IPSWCustom="${IPSWType}_${OSVer}_${BuildVer}_Custom" + Verify=1 echo - Input "Memory Option for creating custom IPSW" - Echo "* This option makes creating the custom IPSW faster, but it requires at least 8GB of RAM." - Echo "* If you do not have enough RAM, disable this option and make sure that you have enough storage space." - Echo "* This option is enabled by default (Y)." - read -p "$(Input 'Enable this option? (Y/n):')" JBMemory - echo + JailbreakSet + Log "Using $JBName for the jailbreak" + MemoryOption IPSW32 Log "Custom IPSW has been created: $IPSWCustom.ipsw" - Echo "* This custom IPSW has a jailbreak built in." + Echo "* This custom IPSW has a jailbreak built in ($JBName)" Echo "* Run the script again and select Downgrade Device to use the custom IPSW." Echo "* You may also use futurerestore manually (make sure to use the latest beta)"