From 48f433a369df361aafb129d6b5fc20f819287f58 Mon Sep 17 00:00:00 2001 From: edwin170 Date: Thu, 23 Nov 2023 12:15:26 -0400 Subject: [PATCH] llb automatically install --- README.md | 9 +++- downr1n.sh | 118 +++++++++++++++++++++++++++++++++++++++++---------- other/plutil | Bin 0 -> 122928 bytes 3 files changed, 104 insertions(+), 23 deletions(-) create mode 100755 other/plutil diff --git a/README.md b/README.md index bc1871a..ba6ec66 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ The various command-line options are as follows: --boot : Boot the device. + --keyServer use this option to downgrade when the keys server is in problem. only on MacOS. use ex: --downgrade 14.8 --keyServer + --dont-restore : Avoids using futurerestore, this can be used to only create boot files. Example: `--downgrade 14.3 --dont-restore`. --fixBoot : Boots the device using fsboot. @@ -54,6 +56,8 @@ alright if you didn't understand well before, first: extract your ipsw by using # importants things +- downgrading ios 16 to 14 or another version, you will have to bypass the setup somehow. good luck on it. + - on ios 13 the touch id doesn't work so the home button on iphone 7 will not work sadly. - you can't downgrade to ios 14.2 lower on a11 devices @@ -64,9 +68,12 @@ alright if you didn't understand well before, first: extract your ipsw by using - futurerestore --exit-recovery - irecovery -n -# fix some problems to boot +# fix some problems + - please execute wikiproxy.py manually if it gives problem with server key. +- if the error still after above fix, if this happend to you when you are downgrading with futurerestore again please add this arg --keyServer for example ./downr1n.sh --downgrade 14.5 --keyServer. + - remember if you will use the next command or will activate localboot it is better that you first downgrade and when you success you can use --jailbreak to jailbreak the device and it will ask you to activate localboot path. why do this because the localboot need to be executed after --jailbreak # Need Help? diff --git a/downr1n.sh b/downr1n.sh index 6b0269f..4ef3fa1 100755 --- a/downr1n.sh +++ b/downr1n.sh @@ -3,6 +3,7 @@ mkdir -p logs mkdir -p boot mkdir -p ipsw/extracted +mainDir=$(pwd) set -e log="last".log @@ -24,7 +25,6 @@ os=$(uname) dir="$(pwd)/binaries/$os" max_args=2 arg_count=0 -extractedIpsw="ipsw/extracted/" if [ ! -d "ramdisk/" ]; then git clone https://github.com/dualra1n/ramdisk.git --depth 1 @@ -73,6 +73,7 @@ Options: --jailbreak jailbreak with pogo. usage ./downr1n --jailbreak 14.8 --taurine jailbreak with taurine. usage ./downr1n --jailbreak 14.3 --taurine --boot this boot the device. + --keyServer use this option to downgrade when the keys server is in problem. only on MacOS. use ex: --downgrade 14.8 --keyServer --dont-restore this will avoid the restore using futurerestore, this can be used if you wanted only create the boot files --debug Debug the script @@ -101,6 +102,9 @@ parse_opt() { --taurine) taurine=1 ;; + --keyServer) + keyServer=1 + ;; --fixBoot) fixBoot=1 ;; @@ -567,7 +571,7 @@ if [ "$debug" = "1" ]; then fi if [ "$clean" = "1" ]; then - rm -rf work blobs/ boot/"$deviceid"/ ipsw/extracted + rm -rf work blobs/ boot/"$deviceid"/ echo "[*] Removed the created boot files" exit fi @@ -698,7 +702,11 @@ extractedIpsw="ipsw/extracted/$deviceid/$version/" if [[ "$ipsw" == *".ipsw" ]]; then echo "[*] Argument detected we are gonna use the ipsw specified" else - ipsw=$(ls ipsw/*.ipsw) + ipsw=() + for file in ipsw/*.ipsw; do + ipsw+=("$file") + done + if [ ${#ipsw[@]} -eq 0 ]; then echo "No .ipsw files found." @@ -711,6 +719,8 @@ else echo "[-] we found $file, do you want to use it ? please write, "yes" or "no"" read result if [ "$result" = "yes" ]; then + echo "$file" + unset ipsw ipsw=$file break elif [ "$result" = "no" ]; then @@ -746,41 +756,41 @@ unzip -o $ipsw BuildManifest.plist -d work/ >/dev/null if [ "$downgrade" = "1" ] || [ "$jailbreak" = "1" ]; then echo "[*] Checking if the ipsw is for your device" - unzip -o $ipsw BuildManifest.plist -d work/ >/dev/null + ipswDevicesid=() ipswVers="" ipswDevId="" counter=0 - declare -a ipswDevicesid - while [ ! "$deviceid" = "$ipswDevId" ]; do + while [ ! "$deviceid" = "$ipswDevId" ] + do if [ "$os" = 'Darwin' ]; then - ipswDevId=$(/usr/bin/plutil -extract "SupportedProductTypes.$counter" xml1 -o - work/BuildManifest.plist | grep '' | cut -d\> -f2 | cut -d\< -f1 | head -1) + ipswDevId=$(/usr/bin/plutil -extract "SupportedProductTypes.$counter" xml1 -o - work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | head -1) else ipswDevId=$("$dir"/PlistBuddy work/BuildManifest.plist -c "Print SupportedProductTypes:$counter" | sed 's/"//g') fi ipswDevicesid[counter]=$ipswDevId - if [ "$ipswDevId" = "" ]; then + if [ "$ipswDevId" = "" ]; then # this is to stop looking for more devices as it pass the limit and can't find deviceid break fi - let "counter=counter+1" # ((counter++)) this counter break the script on linus + let "counter=counter+1" done + if [ "$ipswDevId" = "" ]; then - echo "[/] It looks like this ipsw file is wrong. Please check your ipsw." - + echo "[/] it looks like this ipsw file is wrong, please check your ipsw" + for element in "${ipswDevicesid[@]}"; do - echo "These are the ipsw devices supported: $element" + echo "this are the ipsw devices support: $element" done - - echo "Your device $deviceid is not in the list." - read -p "Want to continue? Press enter ..." + + echo "and your device $deviceid is not in the list" + read -p "want to continue ? click enter ..." fi - echo "[*] Checking ipsw version" if [ "$os" = 'Darwin' ]; then ipswVers=$(/usr/bin/plutil -extract "ProductVersion" xml1 -o - work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | head -1) @@ -793,14 +803,21 @@ if [ "$downgrade" = "1" ] || [ "$jailbreak" = "1" ]; then read -p "wrong ipsw version detected, click ENTER to continue or just ctrl + c to exit" fi +fi + + +if [ "$downgrade" = "1" ] || [ "$jailbreak" = "1" ]; then # extracting ipsw - echo "extracting ipsw, hang on please ..." # this will extract the ipsw into ipsw/extracted - unzip -n $ipsw -d $extractedIpsw + echo "[*] Extracting ipsw, hang on please ..." # this will extract the ipsw into ipsw/extracted + unzip -n $ipsw -d $extractedIpsw >/dev/null + #cp -v "$extractedIpsw/BuildManifest.plist" work/ + echo "[*] Got extract the IPSW successfully" fi if [ "$jailbreak" = "1" ]; then cp "$extractedIpsw$(awk "/""${model}""/{x=1}x&&/iBoot[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1)" "work/" - "$dir"/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBoot[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" work/iBEC.dec + ramdisk/Darwin/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBoot[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" work/iBEC.dec + ramdisk/Darwin/gaster reset fi # ============ @@ -883,6 +900,12 @@ if [ true ]; then "$dir"/img4tool -e -s blobs/"$deviceid"-"$version".shsh2 -m work/IM4M >/dev/null echo "[*] Dumpped SHSH" + echo "[*] Checking device version" + remote_cp other/plutil root@localhost:/mnt1/ + + SystemVersion=$(remote_cmd "chmod +x /mnt1/plutil && /mnt1/plutil -key ProductVersion /mnt1/System/Library/CoreServices/SystemVersion.plist") + echo "the version that the device is currently in is $SystemVersion" + if [ "$jailbreak" = "1" ]; then echo "[*] Patching kernel" # this will send and patch the kernel cp "$extractedIpsw$(awk "/""${model}""/{x=1}x&&/kernelcache.release/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1)" "work/" @@ -1069,7 +1092,7 @@ if [ true ]; then "$dir"/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBSS[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]dfu[/]//')" work/iBSS.dec sleep 1 - "$dir"/iBoot64Patcher work/iBSS.dec work/iBSS.patched >/dev/null + "$dir"/iBoot64Patcher work/iBSS.dec work/iBSS.patched -n >/dev/null "$dir"/img4 -i work/iBSS.patched -o work/iBSS.img4 -M work/IM4M -A -T ibss >/dev/null "$dir"/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBoot[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" work/iBEC.dec >/dev/null @@ -1087,6 +1110,17 @@ if [ true ]; then "$dir"/iBoot64Patcher work/iBEC.dec work/iBEC.patched -b "-v wdt=-1 `if [ "$cpid" = '0x8960' ] || [ "$cpid" = '0x7000' ] || [ "$cpid" = '0x7001' ]; then echo "-restore"; fi`" -n "$(if [ "$local" = "1" ]; then echo "-l"; fi)" >/dev/null "$dir"/img4 -i work/iBEC.patched -o work/iBEC.img4 -M work/IM4M -A -T "$(if [[ "$cpid" == *"0x801"* ]]; then echo "ibss"; else echo "ibec"; fi)" >/dev/null + if [ "$keyServer" = "1" ]; then + echo "[*] patching ibss and ibec for futurerestore downgrade" + mkdir -p $TMPDIR/futurerestore + cp "$extractedIpsw$(awk "/""${model}""/{x=1}x&&/iBEC[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1)" "work/" + "$dir"/gaster decrypt work/"$(awk "/""${model}""/{x=1}x&&/iBEC[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]dfu[/]//')" work/iBECFuture.dec >/dev/null + "$dir"/iBoot64Patcher work/iBECFuture.dec work/iBECFuture.patched b "rd=md0 nand-enable-reformat=0x1 -v -restore debug=0x2014e keepsyms=0x1 amfi=0xff amfi_allow_any_signature=0x1 amfi_get_out_of_my_way=0x1 cs_enforcement_disable=0x1" -n >/dev/null + "$dir"/img4 -i work/iBECFuture.patched -o "$TMPDIR/futurerestore/ibec.$model.$version_code.patched.img4" -M work/IM4M -A -T ibec >/dev/null + cp -av work/iBSS.img4 $TMPDIR/futurerestore/ibss.$model.$version_code.patched.img4 + echo "sucessfully create files for futurerestore" + fi + echo "[*] Patching the kernel" "$dir"/Kernel64Patcher work/kcache.raw work/kcache.patched $(if [[ "$version" = "15."* ]]; then echo "-e -o -r -b15"; fi) $(if [[ "$version" = "14."* ]]; then echo "-b"; fi) $(if [[ "$version" = "13."* ]]; then echo "-b13 -n"; fi) >/dev/null @@ -1107,7 +1141,7 @@ if [ true ]; then python3 -m pyimg4 im4p create -i work/krnl.patched -o work/krnl.im4p -f rkrn --lzss >/dev/null fi - + echo "[*] Patching devicetree" "$dir"/img4 -i work/"$(awk "/""${model}""/{x=1}x&&/DeviceTree[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" work/devicetree.img4 -M work/IM4M -T rdtr >/dev/null if [ "$os" = "Darwin" ]; then @@ -1178,6 +1212,45 @@ if [ true ]; then cp -v work/*.img4 "boot/${deviceid}" # copying all file img4 to boot echo "[*] Sucess Patching the boot files" + echo "[*] Patching the llb in the ipsw to avoid false dfu mode" + + echo "[=] Hi, please i need that you write the ios version that this device is on or the version of the ios that it was on (if this device is already downgraded), most of the time is the lastest version of ios. write 0 if you want to skip this (it is not recommended to skip this as this can avoid false dfu mode)" + + while true + do + if [ ! "$version" = "$SystemVersion" ]; then + echo "Version detected!. we are gonna use $SystemVersion" + ipswLLB=$(curl -sL "https://api.ipsw.me/v4/device/$deviceid?type=ipsw" | "$dir"/jq '.firmwares | .[] | select(.version=="'$SystemVersion'")' | "$dir"/jq -s '.[0] | .url' --raw-output) + else + read result + if [ "$result" = "0" ]; then + echo "SKIPPING ..." + break + fi + ipswLLB=$(curl -sL "https://api.ipsw.me/v4/device/$deviceid?type=ipsw" | "$dir"/jq '.firmwares | .[] | select(.version=="'$result'")' | "$dir"/jq -s '.[0] | .url' --raw-output) + fi + + sleep 1 + + cd work/ + if [ $("$dir"/pzb -g "$(awk "/""${model}""/{x=1}x&&/LLB[.]/{print;exit}" BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1)" "$ipswLLB" >/dev/null) ]; then + echo "failed to download LLB" + fi + cd .. + + if [ ! -e "work/$(awk "/""${model}""/{x=1}x&&/LLB[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" ]; then + echo "[-] ERROR downloading the llb please check the ios version and write it again. if this error happens a lot of time please use 0 to skip llb" + else + echo "[*] LLB downloaded correctly" + echo "[*] putting this LLB into the ipsw" + cp -f work/$(awk "/""${model}""/{x=1}x&&/LLB[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//') "$extractedIpsw/Firmware/all_flash/$(awk "/""${model}""/{x=1}x&&/LLB[.]/{print;exit}" work/BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" + cd $extractedIpsw + zip --update "$mainDir/$ipsw" Firmware/all_flash/"$(awk "/""${model}""/{x=1}x&&/LLB[.]/{print;exit}" BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//')" Firmware/all_flash//$(awk "/""${model}""/{x=1}x&&/LLB[.]/{print;exit}" BuildManifest.plist | grep '' |cut -d\> -f2 |cut -d\< -f1 | sed 's/Firmware[/]all_flash[/]//') + cd $mainDir + echo "[*] Replaced LLB suscessfully" + break + fi + done sleep 1 set +e @@ -1194,7 +1267,8 @@ if [ true ]; then echo "[*] Executing futurerestore ..." _runFuturerestore sleep 2 - echo "if you are on linux please try above command if futurerestore failed" + + echo "if futurerestore failed you can try execute the command below" echo -e "\033[1;33mif futurerestore didn't finish succesfully please try to run (with sudo or without) this command:\033[0m \033[1m$dir/futurerestore -t blobs/$deviceid-$version.shsh2 --use-pwndfu --skip-blob --rdsk work/rdsk.im4p --rkrn work/krnl.im4p --latest-sep $HasBaseband $ipsw\033[0m" echo "if futurerestore restore sucess, you can boot using --boot" diff --git a/other/plutil b/other/plutil new file mode 100755 index 0000000000000000000000000000000000000000..d4607392528d8496bc81ec1e6f4b57b4c402c0c6 GIT binary patch literal 122928 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 D;`NWc literal 0 HcmV?d00001