diff --git a/downr1n.sh b/downr1n.sh index c59934a..0ffc1ab 100755 --- a/downr1n.sh +++ b/downr1n.sh @@ -296,6 +296,45 @@ _dfuhelper() { fi } +_do_localboot() { + ask + while true; do + read -r answer + case "$(echo "$answer" | tr '[:upper:]' '[:lower:]')" in + yes) + echo "[*] You answered YES. so Activating the iBoot localboot path..." + echo '[*] Patching the kernel to krnl' + if [[ "$deviceid" == *'iPhone8'* ]] || [[ "$deviceid" == *'iPad6'* ]] || [[ "$deviceid" == *'iPad5'* ]]; then + python3 -m pyimg4 im4p create -i work/$(if [ "$taurine" = "1" ]; then echo "kcache.patched"; else echo "kcache.patchedB"; fi) -o work/krnl.im4p -f krnl --extra work/kpp.bin --lzss >/dev/null + else + python3 -m pyimg4 im4p create -i work/$(if [ "$taurine" = "1" ]; then echo "kcache.patched"; else echo "kcache.patchedB"; fi) -o work/krnl.im4p -f krnl --lzss >/dev/null + fi + python3 -m pyimg4 img4 create -p work/krnl.im4p -o work/kernelcachd -m work/IM4M >/dev/null + remote_cp work/kernelcachd root@localhost:/mnt6/"$active"/System/Library/Caches/com.apple.kernelcaches/ >/dev/null + + if [ "$os" = 'Linux' ]; then + sed -i 's/\/\kernelcache/\/\kernelcachd/g' work/iBEC.dec + else + LC_ALL=C sed -i.bak -e 's/s\/\kernelcache/s\/\kernelcachd/g' work/iBEC.dec + fi + + "$dir"/iBoot64Patcher work/iBEC.dec work/iBEC.patched -b "-v wdt=-1 debug=0x2014e `if [ "$cpid" = '0x8960' ] || [ "$cpid" = '0x7000' ] || [ "$cpid" = '0x7001' ]; then echo "-restore"; fi`" -n -l >/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 + cp -v work/iBEC.img4 "boot/${deviceid}" + break + ;; + no) + echo "You answered NO. so Not activating the iBoot localboot path." + break + ;; + *) + echo "Invalid answer." + usage + ;; + esac + done +} + usage() { echo "Please answer with YES or NO (case-insensitive)." } @@ -767,24 +806,26 @@ if [ true ]; then python3 -m pyimg4 im4p extract -i work/kernelcache -o work/kcache.raw >/dev/null fi - remote_cp work/kcache.raw root@localhost:/mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.raw >/dev/null - remote_cp boot/"${deviceid}"/kernelcache.img4 "root@localhost:/mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kernelcache" >/dev/null + "$dir"/Kernel64Patcher work/kcache.raw work/kcache.patched -e $(if [[ ! "$version" = "15."* ]]; then echo "-b"; else echo "-b15 -r"; fi) $(if [ ! "$taurine" = "1" ]; then echo "-l"; fi) >/dev/null + + + remote_cp work/kcache.patched root@localhost:/mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.patched >/dev/null + #remote_cp boot/"${deviceid}"/kernelcache.img4 "root@localhost:/mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kernelcache" >/dev/null remote_cp binaries/Kernel15Patcher.ios root@localhost:/mnt1/private/var/root/Kernel15Patcher.ios >/dev/null remote_cmd "/usr/sbin/chown 0 /mnt1/private/var/root/Kernel15Patcher.ios" remote_cmd "/bin/chmod 755 /mnt1/private/var/root/Kernel15Patcher.ios" sleep 1 - if [ ! $(remote_cmd "/mnt1/private/var/root/Kernel15Patcher.ios /mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.raw /mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.patched 2>/dev/null") ]; then + if [ ! $(remote_cmd "/mnt1/private/var/root/Kernel15Patcher.ios /mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.patched /mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.patchedB 2>/dev/null") ]; then echo "you have the kernelpath already installed " fi sleep 2 - remote_cp root@localhost:/mnt6/"$active"/System/Library/Caches/com.apple.kernelcaches/kcache.patched work/ # that will return the kernelpatcher in order to be patched again and boot with it - "$dir"/Kernel64Patcher work/kcache.patched work/kcache.patchedB -e $(if [[ ! "$version" = "15."* ]]; then echo "-b"; else echo "-b15 -r"; fi) $(if [ ! "$taurine" = "1" ]; then echo "-l"; fi) >/dev/null + remote_cp root@localhost:/mnt6/"$active"/System/Library/Caches/com.apple.kernelcaches/kcache.patchedB work/ # that will return the kernelpatcher in order to be patched again and boot with it if [[ "$deviceid" == *'iPhone8'* ]] || [[ "$deviceid" == *'iPad6'* ]] || [[ "$deviceid" == *'iPad5'* ]]; then - python3 -m pyimg4 im4p create -i work/kcache.patchedB -o work/kcache.im4p -f rknl --extra work/kpp.bin --lzss >/dev/null + python3 -m pyimg4 im4p create -i "work/$(if [ "$taurine" = "1" ]; then echo "kcache.patched"; else echo "kcache.patchedB"; fi)" -o work/kcache.im4p -f rknl --extra work/kpp.bin --lzss >/dev/null else - python3 -m pyimg4 im4p create -i work/kcache.patchedB -o work/kcache.im4p -f rknl --lzss >/dev/null + python3 -m pyimg4 im4p create -i "work/$(if [ "$taurine" = "1" ]; then echo "kcache.patched"; else echo "kcache.patchedB"; fi)" -o work/kcache.im4p -f rknl --lzss >/dev/null fi remote_cmd "rm -f /mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.raw /mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.patched /mnt6/$active/System/Library/Caches/com.apple.kernelcaches/kcache.im4p" @@ -800,7 +841,7 @@ if [ true ]; then unzip other/dualra1n-loader.ipa -d other/ mkdir -p other/Payload/Applications/ mv -nv other/Payload/dualra1n-loader.app other/Payload/Applications/ - remote_cp other/Payload/Applications/ root@localhost:/mnt1/Applications + remote_cp other/Payload/ root@localhost:/mnt1/ echo "[*] Saving snapshot" if [ ! "$(remote_cmd "/usr/bin/snaputil -c orig-fs /mnt1")" ]; then @@ -819,6 +860,8 @@ if [ true ]; then if [ "$taurine" = 1 ]; then echo "installing taurine" remote_cp other/taurine/* root@localhost:/mnt1/ + echo "[*] Taurine sucessfully copied" + _do_localboot echo "[*] Finished, now your downgrade is jailbroken, you can boot it" remote_cmd "/sbin/reboot" exit; @@ -842,45 +885,7 @@ if [ true ]; then remote_cmd "rm /mnt1/jbin/binpack/binpack.tar" remote_cmd "/usr/sbin/nvram auto-boot=true" echo "[*] Finished of jailbreaking" - ask - while true; do - read -r answer - case "$(echo "$answer" | tr '[:upper:]' '[:lower:]')" in - yes) - echo "[*] You answered YES. so Activating the iBoot localboot path..." - echo '[*] Patching the kernel to krnl' - if [[ "$deviceid" == *'iPhone8'* ]] || [[ "$deviceid" == *'iPad6'* ]] || [[ "$deviceid" == *'iPad5'* ]]; then - python3 -m pyimg4 im4p create -i work/kcache.patchedB -o work/krnl.im4p -f krnl --extra work/kpp.bin --lzss >/dev/null - - else - python3 -m pyimg4 im4p create -i work/kcache.patchedB -o work/krnl.im4p -f krnl --lzss >/dev/null - fi - - python3 -m pyimg4 img4 create -p work/krnl.im4p -o work/kernelcachd -m work/IM4M >/dev/null - remote_cp work/kernelcachd root@localhost:/mnt6/"$active"/System/Library/Caches/com.apple.kernelcaches/ >/dev/null - - if [ "$os" = 'Linux' ]; then - sed -i 's/\/\kernelcache/\/\kernelcachd/g' work/iBEC.dec - else - LC_ALL=C sed -i.bak -e 's/s\/\kernelcache/s\/\kernelcachd/g' work/iBEC.dec - fi - - "$dir"/iBoot64Patcher work/iBEC.dec work/iBEC.patched -b "-v wdt=-1 debug=0x2014e `if [ "$cpid" = '0x8960' ] || [ "$cpid" = '0x7000' ] || [ "$cpid" = '0x7001' ]; then echo "-restore"; fi`" -n -l >/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 - cp -v work/iBEC.img4 "boot/${deviceid}" - break - ;; - no) - echo "You answered NO. so Not activating the iBoot localboot path." - break - ;; - *) - echo "Invalid answer." - usage - ;; - esac - done - + _do_localboot echo "[*] DONE ... now reboot and boot again" remote_cmd "/sbin/reboot" exit; diff --git a/other/taurine/Applications/taurine.app/Assets.car b/other/taurine/Applications/taurine.app/Assets.car index cf693d0..ed8b6ee 100644 Binary files a/other/taurine/Applications/taurine.app/Assets.car and b/other/taurine/Applications/taurine.app/Assets.car differ diff --git a/other/taurine/Applications/taurine.app/Info.plist b/other/taurine/Applications/taurine.app/Info.plist index 6d97bbf..075f289 100644 Binary files a/other/taurine/Applications/taurine.app/Info.plist and b/other/taurine/Applications/taurine.app/Info.plist differ diff --git a/other/taurine/Applications/taurine.app/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib b/other/taurine/Applications/taurine.app/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib index 891e663..267fd90 100644 Binary files a/other/taurine/Applications/taurine.app/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib and b/other/taurine/Applications/taurine.app/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib differ diff --git a/other/taurine/Applications/taurine.app/Main.storyboardc/DKI-Yp-loo-view-cPN-qX-cZW.nib b/other/taurine/Applications/taurine.app/Main.storyboardc/DKI-Yp-loo-view-cPN-qX-cZW.nib index bad6e60..c6c0ab7 100644 Binary files a/other/taurine/Applications/taurine.app/Main.storyboardc/DKI-Yp-loo-view-cPN-qX-cZW.nib and b/other/taurine/Applications/taurine.app/Main.storyboardc/DKI-Yp-loo-view-cPN-qX-cZW.nib differ diff --git a/other/taurine/Applications/taurine.app/Taurine b/other/taurine/Applications/taurine.app/Taurine index 508d7ec..b61c6e7 100755 Binary files a/other/taurine/Applications/taurine.app/Taurine and b/other/taurine/Applications/taurine.app/Taurine differ diff --git a/other/taurine/Applications/taurine.app/_CodeSignature/CodeResources b/other/taurine/Applications/taurine.app/_CodeSignature/CodeResources index 80af3bb..86e224b 100644 --- a/other/taurine/Applications/taurine.app/_CodeSignature/CodeResources +++ b/other/taurine/Applications/taurine.app/_CodeSignature/CodeResources @@ -14,7 +14,7 @@ Assets.car - ofgS+mzZOF1wGSC2FQ5l55t/LA8= + bXDbAeetZA/Y7De+N+wsak26mtw= Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib @@ -34,15 +34,15 @@ Info.plist - eiDKe/D56un3zKhXp5SWKeutX08= + VgEA7vuKIoOkYkPb1kmre27zZUk= Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib - ImV7XKTuTuuV6klwGLp+Mj9Xq9s= + kSWFEuGorMdBAOBexXoMyUukLAA= Main.storyboardc/DKI-Yp-loo-view-cPN-qX-cZW.nib - M6GOu7LeSuY/ER6L38vSYFgCgUw= + CSJi64jwIUVX0OEntgwRd5B/WwQ= Main.storyboardc/Info.plist @@ -62,12 +62,16 @@ basebinaries.tar - KJf7T46HZ+IyKHtg4fNSk7WKMfc= + ExBQ7905hQq27b1OmZtQYb10SUA= bootstrap.tar.gz rt9rjkuiQu3ovT9WyegG6Z9/ytw= + ctbypass.gz + + JdQt3oVn0+ahtpB//zvjuxhaQoQ= + essential_0-4_iphoneos-arm.deb 1y7jqfU13qKUqU89y/9D46NdAX0= @@ -117,11 +121,11 @@ hash - ofgS+mzZOF1wGSC2FQ5l55t/LA8= + bXDbAeetZA/Y7De+N+wsak26mtw= hash2 - qcG05RgfuPUIxZSr+s93OIPoDq2Z5/s+jJvd74Fpoe4= + Fg+jTlHFEyBWz8JQ15mDPZ566+4+xCB5G/jh721SwQg= Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib @@ -172,22 +176,22 @@ hash - ImV7XKTuTuuV6klwGLp+Mj9Xq9s= + kSWFEuGorMdBAOBexXoMyUukLAA= hash2 - flB+gYCk4uXa2Ql9ot54QIOU4/siSnHvcj0cNRQiXzk= + 8gMBiRwfwaaCjixBxHpksVY+4VUml5gaXlGJYdRlZD8= Main.storyboardc/DKI-Yp-loo-view-cPN-qX-cZW.nib hash - M6GOu7LeSuY/ER6L38vSYFgCgUw= + CSJi64jwIUVX0OEntgwRd5B/WwQ= hash2 - 50zbkPXpRw51MqtsqNcP0+k4Pc+OtaR5yAHtevRDSkk= + XZCnoxbK69pg1k+8mjeqecZYO3HlsHatLJZfHDbnvxg= Main.storyboardc/Info.plist @@ -227,11 +231,11 @@ hash - KJf7T46HZ+IyKHtg4fNSk7WKMfc= + ExBQ7905hQq27b1OmZtQYb10SUA= hash2 - rZ/bEJqkZvuoeNLKN0CdxjPoEykk1fSvY3ajl+VTdsA= + CJLChPH47C+kyRUvM0WdOj890GPH9KOi6tDcZ5SWc90= bootstrap.tar.gz @@ -245,6 +249,17 @@ oPDjxT618z33oRg9OzyDpiDLrILb//b8JERKt0c8Kbw= + ctbypass.gz + + hash + + JdQt3oVn0+ahtpB//zvjuxhaQoQ= + + hash2 + + Xjb0unJ9d55XZiu3iii2FmlDbQD/67ZfEs6u02uWtgk= + + essential_0-4_iphoneos-arm.deb hash diff --git a/other/taurine/Applications/taurine.app/basebinaries.tar b/other/taurine/Applications/taurine.app/basebinaries.tar index 53f626f..e082ef6 100644 Binary files a/other/taurine/Applications/taurine.app/basebinaries.tar and b/other/taurine/Applications/taurine.app/basebinaries.tar differ diff --git a/other/taurine/Applications/taurine.app/ctbypass.gz b/other/taurine/Applications/taurine.app/ctbypass.gz new file mode 100644 index 0000000..241c8ac Binary files /dev/null and b/other/taurine/Applications/taurine.app/ctbypass.gz differ