diff --git a/README.md b/README.md index 515b929..f1f1570 100644 --- a/README.md +++ b/README.md @@ -68,9 +68,9 @@ ## Supported OS versions/distros - [**Ubuntu**](https://ubuntu.com/) 20.04 and newer, and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) - [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/) -- [**Fedora**](https://getfedora.org/) 33 and newer +- [**Fedora**](https://getfedora.org/) 35 and newer - [**Debian**](https://www.debian.org/) 11 Bullseye and newer, Sid, and Debian-based distros -- [**openSUSE**](https://www.opensuse.org/) Tumbleweed and Leap 15.3 to 15.4 +- [**openSUSE**](https://www.opensuse.org/) Tumbleweed, Leap 15.4 - **macOS** 10.13 and newer - **Windows** 7 and newer diff --git a/resources/depends.sh b/resources/depends.sh index f22ecb1..553afef 100755 --- a/resources/depends.sh +++ b/resources/depends.sh @@ -56,6 +56,7 @@ SetToolPaths() { if [[ $platform != "win" ]]; then expect="$(which expect)" fi + cherrybin="../$cherry/cherry" ideviceenterrecovery="$MPath/ideviceenterrecovery" ideviceinfo="$MPath/ideviceinfo" idevicerestore="./resources/tools/idevicerestore_$platform" @@ -74,17 +75,26 @@ SetToolPaths() { SCP="$(which scp) $SSH" SSH="$(which ssh) $SSH" tsschecker="./resources/tools/tsschecker_$platform" + xpwntool="./xpwntool" if [[ $platform == "linux" ]]; then + # openssl + opensslver=$(openssl version | awk '{print $2}' | cut -c -3) + if [[ $opensslver != "1.1" ]]; then + cherrybin="env LD_LIBRARY_PATH=../resources/lib $cherrybin" + idevicerestore="sudo LD_LIBRARY_PATH=../resources/lib $idevicerestore" + xpwntool="env LD_LIBRARY_PATH=../resources/lib $xpwntool" + fi # these need to run as root for device detection expect="sudo $expect" futurerestore="sudo $futurerestore" - idevicerestore="sudo LD_LIBRARY_PATH=./resources/lib $idevicerestore" + [[ -z $idevicerestore ]] && idevicerestore="sudo $idevicerestore" ipwndfu="sudo $ipwndfu" irecovery="sudo LD_LIBRARY_PATH=./resources/lib $irecovery" irecovery2="sudo LD_LIBRARY_PATH=./resources/lib $irecovery2" pwnedDFU="sudo $pwnedDFU" rmsigchks="sudo $rmsigchks" + elif [[ $platform == "macos" ]]; then # for macOS 12.3 and newer if (( ${platformver:0:2} > 11 )) && [[ -z $python ]]; then @@ -159,17 +169,13 @@ InstallDepends() { sudo apt update sudo apt install -y bsdiff curl expect libimobiledevice6 openssh-client python2 unzip usbmuxd usbutils xmlstarlet xxd zenity - elif [[ $ID == "fedora" ]] && (( VERSION_ID >= 33 )); then + elif [[ $ID == "fedora" ]] && (( VERSION_ID >= 35 )); then ln -sf /usr/lib64/libbz2.so.1.* ../resources/lib/libbz2.so.1.0 sudo dnf install -y bsdiff expect libimobiledevice perl-Digest-SHA python2 vim-common xmlstarlet zenity - elif [[ $ID == "opensuse-tumbleweed" || $PRETTY_NAME == *"Leap 15.3" || $PRETTY_NAME == *"Leap 15.4" ]]; then - libimobiledevice="libimobiledevice-1_0-6" - if [[ $PRETTY_NAME == *"Leap"* ]]; then - ln -sf /lib64/libreadline.so.7 ../resources/lib/libreadline.so.8 - [[ $VERSION == "15.3" ]] && libimobiledevice="libimobiledevice6" - fi - sudo zypper -n in bsdiff curl expect $libimobiledevice python-base vim xmlstarlet zenity + elif [[ $ID == "opensuse-tumbleweed" || $PRETTY_NAME == *"Leap 15.4" ]]; then + [[ $ID == "opensuse-leap" ]] && ln -sf /lib64/libreadline.so.7 ../resources/lib/libreadline.so.8 + sudo zypper -n in bsdiff curl expect libimobiledevice-1_0-6 python-base vim xmlstarlet zenity elif [[ $platform == "macos" ]]; then xcode-select --install diff --git a/resources/ipsw.sh b/resources/ipsw.sh index a7bfefc..3d4b97f 100755 --- a/resources/ipsw.sh +++ b/resources/ipsw.sh @@ -351,12 +351,12 @@ IPSW4() { cp -rf ../$cherry/bin/* ../$cherrymac/FirmwareBundles ../$cherrymac/src . unzip -j ../$IPSW.ipsw Firmware/all_flash/all_flash.${HWModel}ap.production/iBoot* mv iBoot.${HWModel}ap.RELEASE.img3 tmp - env LD_LIBRARY_PATH=../resources/lib ./xpwntool tmp ibot.dec -iv $IV -k $Key + $xpwntool tmp ibot.dec -iv $IV -k $Key ./iBoot32Patcher ibot.dec ibot.pwned --rsa --boot-partition --boot-ramdisk $ExtraArgs - env LD_LIBRARY_PATH=../resources/lib ./xpwntool ibot.pwned iBoot -t tmp + $xpwntool ibot.pwned iBoot -t tmp echo "0000010: 6365" | xxd -r - iBoot echo "0000020: 6365" | xxd -r - iBoot - env LD_LIBRARY_PATH=../resources/lib ../$cherry/cherry ../$IPSW.ipsw ../$IPSWCustom.ipsw $JBMemory -derebusantiquis ../$IPSW7.ipsw iBoot ${JBFiles[@]} + $cherrybin ../$IPSW.ipsw ../$IPSWCustom.ipsw $JBMemory -derebusantiquis ../$IPSW7.ipsw iBoot ${JBFiles[@]} fi cd ..