From bb190d300104a5e516794138b3a7a9bddc63fe72 Mon Sep 17 00:00:00 2001 From: LukeZGD Date: Fri, 12 Mar 2021 11:41:39 +0800 Subject: [PATCH] Disable EtasonJB bootloop protection - (#70) - also add some more notes/info --- README.md | 3 ++- resources/jailbreak/etasonJB-untether.tar | Bin 61440 -> 57344 bytes resources/jailbreak/fstab.tar | Bin 10240 -> 10240 bytes restore.sh | 18 ++++++++++-------- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 43997e3..866bfd8 100755 --- a/README.md +++ b/README.md @@ -94,6 +94,7 @@ - Use an Intel PC/Mac as entering pwnDFU (checkm8) may be a lot more unreliable on AMD devices - Other than the above, unfortunately there's not much else I can do to help regarding entering pwnDFU mode. - For 32-bit devices: + - To make sure that SSH is successful, try these steps: Reinstall OpenSSH/Dropbear, reboot and rejailbreak, then reinstall them again - To devices with baseband, this script will restore your device with the latest baseband (except when jailbreak is enabled, and on iPhone5,1 as there are reported issues) - This script can also be used to just enter kDFU mode for all supported devices - As alternatives to kloader/kDFU, checkm8 A5 or ipwndfu can also be used in DFU advanced menu @@ -108,7 +109,7 @@ - For jailbreak option (on iOS 8.4.1 downgrades only): - Stashing is already enabled and `nosuid` is removed from `fstab`, so no need to install "Stashing for #etasonJB" package - To fix LaunchDaemons not loading on startup, install "Infigo" package ([Cydia repo](https://lukezgd.github.io/repo/)) - - Warning: If your device bootloops with EtasonJB, it may not work with the jailbreak option as well! (I think this applies to some but not all [8942](https://www.theiphonewiki.com/wiki/S5L8942)/[8945](https://www.theiphonewiki.com/wiki/S5L8945) users) If this happens, bootloop protection will trigger and you won't be able to open Cydia + - Warning: On some but not all [8942](https://www.theiphonewiki.com/wiki/S5L8942)/[8945](https://www.theiphonewiki.com/wiki/S5L8945) devices, your device might take a very long time to boot, possibly 20 minutes or more ## Tools and other stuff used by this script: - cURL diff --git a/resources/jailbreak/etasonJB-untether.tar b/resources/jailbreak/etasonJB-untether.tar index 03b0ea77ba710d2a1e6c8d58156485148384b067..d5203c736451657e059a46e38e42647210f4ccf3 100644 GIT binary patch delta 647 zcmb7?u};G<5QgKlhyf7lTn4X9-1+WoiJ1X0RJ=k3B?Cy6l4eBeBaq}JxRV0vTy_{{?{_gwb>1Sv9)VYhS6VU+xI)P;+tmAf(;!g>Lt}Ge17ibo6H{Xb14Bbo69WbX)5(d9DLkdc zC5c4}3JgX0`6UwtWhQGfD@@*SZTqB2KvT_3Owdh(@=XklObmgh8k!jynHm`z830WM zT42tgV1UomO;Z?MCNnan;W66Kz|_>(6wPQ819PB*@f*$Zw3e}a^Rvd2+)PEen>Y3b zFimE>0knzupaFUo6i7x43PzLtYNaRdxZ%f+C1h@;o0Dd!p{bFnA<$6$Nt2SXh41SEy+kN%E-@6O-U`tFY(FGF9;~gFG)=< z$;{8wE2$`%C}_ZL00brm1{1R-B@GOW7z|AejEqbS%?*rA8GtM!GZO{{gUN=BDU%r) j|1%kIZ4PAm$2g%=1fmS6&WORl(Adz(461B1P?-_{!PzSo delta 41 wcmZn&Xb70Z(kWtWZfsy|WNct=!eC%%Y-nuGpkOfBkTGR5BkO;q#R+UI0N$bsV*mgE diff --git a/restore.sh b/restore.sh index 017a79a..2e92863 100755 --- a/restore.sh +++ b/restore.sh @@ -111,6 +111,7 @@ function Main { [ ! $ProductType ] && read -p "[Input] Enter ProductType (eg. iPad2,1): " ProductType UniqueChipID=$((16#$(echo $($irecovery -q | grep 'ECID' | cut -c 7-) | cut -c 3-))) ProductVer='Unknown' + [[ $RecoveryDevice == 1 ]] && Echo "* Your $ProductType is currently in recovery mode. To exit recovery, select Downgrade device, then select N to exit recovery" else ProductType=$(echo "$ideviceinfo2" | grep 'ProductType' | cut -c 14-) [ ! $ProductType ] && ProductType=$($ideviceinfo | grep 'ProductType' | cut -c 14-) @@ -226,9 +227,9 @@ function Action { fi if [[ $Mode == 'Downgrade' ]] && [[ $ProductType == iPhone5,1 ]] && [[ $Jailbreak != 1 ]]; then - Echo "By default, iOS-OTA-Downgrader now flashes the iOS 8.4.1 baseband to iPhone5,1" - Echo "Flashing the latest baseband is still available as an option but beware of problems it may cause" - Echo "There are potential network issues that with the latest baseband when used on iOS 8.4.1" + Echo "* By default, iOS-OTA-Downgrader now flashes the iOS 8.4.1 baseband to iPhone5,1" + Echo "* Flashing the latest baseband is still available as an option but beware of problems it may cause" + Echo "* There are potential network issues that with the latest baseband when used on iOS 8.4.1" read -p "$(Input 'Flash the latest baseband? (y/N) (press ENTER if unsure): ')" Baseband5 if [[ $Baseband5 == y ]] || [[ $Baseband5 == Y ]]; then Baseband5=0 @@ -262,7 +263,7 @@ function SaveOTABlobs { if [ ! $SHSH ] && [ ! $SHSHExisting ]; then Error "Saving $OSVer blobs failed. Please run the script again" "It is also possible that $OSVer for $ProductType is no longer signed" elif [ ! $SHSH ]; then - Log "Saving $OSVer blobs failed, but detected saved SHSH blobs. Continuing..." + Log "Saving $OSVer blobs failed, but detected existing saved SHSH blobs. Continuing..." cp $SHSHExisting . SHSH=$(ls $SHSHChk) else @@ -304,7 +305,7 @@ function kDFU { Echo "* Make sure OpenSSH/Dropbear is installed on the device and running!" Echo "* Dropbear is only needed for devices on iOS 10" Echo "* To make sure that SSH is successful, try these steps:" - Echo "* Reinstall OpenSSH/Dropbear, reboot and rejailbreak, then reinstall again" + Echo "* Reinstall OpenSSH/Dropbear, reboot and rejailbreak, then reinstall them again" echo Input "Enter the root password of your iOS device when prompted, default is 'alpine'" scp -P 2222 resources/tools/$kloader tmp/pwnediBSS root@127.0.0.1:/ @@ -442,7 +443,7 @@ function Downgrade { Log "Verifying IPSW..." IPSWSHA1=$(cat $Firmware/$BuildVer/sha1sum) IPSWSHA1L=$(shasum $IPSW.ipsw | awk '{print $1}') - [[ $IPSWSHA1L != $IPSWSHA1 ]] && Error "Verifying IPSW failed. Delete/replace the IPSW and run the script again" + [[ $IPSWSHA1L != $IPSWSHA1 ]] && Error "Verifying IPSW failed. Your IPSW may be corrupted or incomplete." "Delete/replace the IPSW and run the script again" else IPSW=$IPSWCustom fi @@ -478,7 +479,7 @@ function Downgrade { done if [ ! -e $IPSWCustom.ipsw ]; then Echo "* By default, memory option is set to Y, you may select N later if you encounter problems" - Echo "* If it doesn't work with both, you might not have enough RAM or tmp storage" + Echo "* If it doesn't work with both, you might not have enough RAM and/or tmp storage" read -p "$(Input 'Memory option? (press ENTER if unsure) (Y/n): ')" JBMemory [[ $JBMemory != n ]] && [[ $JBMemory != N ]] && JBMemory="-memory" || JBMemory= Log "Preparing custom IPSW..." @@ -529,7 +530,8 @@ function Downgrade { [[ $($irecovery -q 2>/dev/null | grep 'MODE' | cut -c 7-) == "Recovery" ]] && RecoveryDevice=1 if [[ $RecoveryDevice != 1 ]]; then echo -e "\n$(Log 'Failed to detect device in pwnREC mode.')" - Echo "* If you device has backlight turned on, you may try re-plugging in your device and attempt to continue" + Echo "* If your device has backlight turned on, you may try unplugging and re-plugging in your device, and attempt to continue" + Echo "* If not, you may have to hard-reset your device and attempt to start over entering pwnDFU mode again" Input "Press ENTER to continue anyway (or press Ctrl+C to cancel)" read -s else