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