From 5e122ae2a729bc9eba3cd9ac66fe76569722e1df Mon Sep 17 00:00:00 2001 From: Nebula Date: Tue, 27 Sep 2022 15:22:11 -0400 Subject: [PATCH] edits --- README.md | 10 ++-------- palera1n.sh | 45 +++++++++++++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 64fecf9..370279e 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,17 @@ -# As of now, Linux users may have a bug where the ramdisk doesn't boot -If you're having an issue with the ramdisk booting, please use [SSHRD_Script](https://github.com/verygenericname/SSHRD_Script) to manually dump a blob and install TrollStore. Place your dumped blob in blobs/DEVICEID-IOSVERSION.shsh2, then run palera1n again. - # palera1n iOS 15.0-15.7 **work in progress** semi-tethered checkm8 "jailbreak" # What does this do? It boots the device with AMFI patches. On first run, it'll boot a ramdisk which dumps your onboard blob, and installs the loader app (Pogo by Amy) to Tips. This is mainly a **developer** jailbreak. There is **no tweak injection yet**. -**NOTE**: `sudo usbmuxd -p -f` should fix most USB issues on Linux. If not, compile and install [usbmuxd2](https://github.com/tihmstar/usbmuxd2). +**NOTE**: Linux USB has a whole bunch of issues. The script tries to auto load usbmuxd, but sometimes it won't work. If not, compile and install [usbmuxd2](https://github.com/tihmstar/usbmuxd2). **WARNING**: On A11, it has the deep sleep bug while booted with palera1n, and will kernel panic, or just not wake up until force rebooted, about a minute after being in sleep mode. -**WARNING 2**: I am NOT responsible for any data loss. The user of this program accepts responsibility should something happen to their device. While nothing should happen, jailbreaking has risks in itself. If your device is stuck in recovery, please run `futurerestore --exit-recovery`, or use `irecovery -n`. +**WARNING 2**: I am NOT responsible for any data loss. The user of this program accepts responsibility should something happen to their device. While nothing should happen, jailbreaking has risks in itself. If your device is stuck in recovery, please run `futurerestore --exit-recovery`, or use `irecovery -n`. Using this on iOS 16 has a higher chance of bootlooping you. On A10 and A11, you **must disable your passcode while in the jailbroken state**. On A10, this can be fixed in the future by implementing blackbird. On A11, we don't have a SEP exploit yet. It may also **break camera while in the jailbroken state**. -**Known working devices:** -iPhone X, 8, 7, 6s - # Prerequisites 1. checkm8 vulnerable iOS device on iOS 15 (A8X-A11) 2. Linux or macOS computer diff --git a/palera1n.sh b/palera1n.sh index e8e27a9..c3cd808 100755 --- a/palera1n.sh +++ b/palera1n.sh @@ -14,22 +14,6 @@ else out=/dev/null fi -# Prevent Finder from complaning -if [ "$os" = 'Darwin' ]; then - defaults write -g ignore-devices -bool true - defaults write com.apple.AMPDevicesAgent dontAutomaticallySyncIPods -bool true - killall Finder -fi - -if [ "$os" = 'Linux' ]; then - killall iproxy &> /dev/null - sudo killall iproxy &> /dev/null - sudo systemctl stop usbmuxd &> /dev/null >> "$out" - killall usbmuxd &> /dev/null - sudo killall usbmuxd &> /dev/null - sudo usbmuxd -f -p &> /dev/null >> "$out" & -fi - # ========= # Functions # ========= @@ -131,6 +115,17 @@ _dfuhelper() { echo "[*] Device entered DFU!" } +_usb_fix() { + if [ "$os" = 'Linux' ]; then + killall iproxy &> /dev/null + sudo killall iproxy &> /dev/null + sudo systemctl stop usbmuxd &> /dev/null >> "$out" + killall usbmuxd &> /dev/null + sudo killall usbmuxd &> /dev/null + sudo usbmuxd -f -p &> /dev/null >> "$out" & + fi +} + _exit_handler() { if [ "$os" = 'Darwin' ]; then if [ ! "$1" = '--dfu' ]; then @@ -144,6 +139,22 @@ _exit_handler() { } trap _exit_handler EXIT +# =========== +# Fixes +# =========== + +# Prevent Finder from complaning +if [ "$os" = 'Darwin' ]; then + defaults write -g ignore-devices -bool true + defaults write com.apple.AMPDevicesAgent dontAutomaticallySyncIPods -bool true + killall Finder +fi + +# linux usb fixes | i hate linux :intjsad: +if [ "$os" = 'Linux' ]; then + _usb_fix +fi + # =========== # Subcommands # =========== @@ -262,6 +273,8 @@ if [ ! -f blobs/"$deviceid"-"$version".shsh2 ]; then cd .. # Execute the commands once the rd is booted + _usb_fix + "$dir"/iproxy 2222 22 &> /dev/null >> "$out" & if ! ("$dir"/sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no -p2222 root@localhost "echo connected" &> /dev/null > "$out"); then echo "[*] Waiting for the ramdisk to finish booting"