Update depends

This commit is contained in:
LukeZGD 2022-06-29 10:48:17 +08:00
parent 4a3af28f32
commit c7690f4279
3 changed files with 20 additions and 14 deletions

View File

@ -68,9 +68,9 @@
## Supported OS versions/distros ## Supported OS versions/distros
- [**Ubuntu**](https://ubuntu.com/) 20.04 and newer, and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) - [**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/) - [**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 - [**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 - **macOS** 10.13 and newer
- **Windows** 7 and newer - **Windows** 7 and newer

View File

@ -56,6 +56,7 @@ SetToolPaths() {
if [[ $platform != "win" ]]; then if [[ $platform != "win" ]]; then
expect="$(which expect)" expect="$(which expect)"
fi fi
cherrybin="../$cherry/cherry"
ideviceenterrecovery="$MPath/ideviceenterrecovery" ideviceenterrecovery="$MPath/ideviceenterrecovery"
ideviceinfo="$MPath/ideviceinfo" ideviceinfo="$MPath/ideviceinfo"
idevicerestore="./resources/tools/idevicerestore_$platform" idevicerestore="./resources/tools/idevicerestore_$platform"
@ -74,17 +75,26 @@ SetToolPaths() {
SCP="$(which scp) $SSH" SCP="$(which scp) $SSH"
SSH="$(which ssh) $SSH" SSH="$(which ssh) $SSH"
tsschecker="./resources/tools/tsschecker_$platform" tsschecker="./resources/tools/tsschecker_$platform"
xpwntool="./xpwntool"
if [[ $platform == "linux" ]]; then 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 # these need to run as root for device detection
expect="sudo $expect" expect="sudo $expect"
futurerestore="sudo $futurerestore" futurerestore="sudo $futurerestore"
idevicerestore="sudo LD_LIBRARY_PATH=./resources/lib $idevicerestore" [[ -z $idevicerestore ]] && idevicerestore="sudo $idevicerestore"
ipwndfu="sudo $ipwndfu" ipwndfu="sudo $ipwndfu"
irecovery="sudo LD_LIBRARY_PATH=./resources/lib $irecovery" irecovery="sudo LD_LIBRARY_PATH=./resources/lib $irecovery"
irecovery2="sudo LD_LIBRARY_PATH=./resources/lib $irecovery2" irecovery2="sudo LD_LIBRARY_PATH=./resources/lib $irecovery2"
pwnedDFU="sudo $pwnedDFU" pwnedDFU="sudo $pwnedDFU"
rmsigchks="sudo $rmsigchks" rmsigchks="sudo $rmsigchks"
elif [[ $platform == "macos" ]]; then elif [[ $platform == "macos" ]]; then
# for macOS 12.3 and newer # for macOS 12.3 and newer
if (( ${platformver:0:2} > 11 )) && [[ -z $python ]]; then if (( ${platformver:0:2} > 11 )) && [[ -z $python ]]; then
@ -159,17 +169,13 @@ InstallDepends() {
sudo apt update sudo apt update
sudo apt install -y bsdiff curl expect libimobiledevice6 openssh-client python2 unzip usbmuxd usbutils xmlstarlet xxd zenity 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 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 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 elif [[ $ID == "opensuse-tumbleweed" || $PRETTY_NAME == *"Leap 15.4" ]]; then
libimobiledevice="libimobiledevice-1_0-6" [[ $ID == "opensuse-leap" ]] && ln -sf /lib64/libreadline.so.7 ../resources/lib/libreadline.so.8
if [[ $PRETTY_NAME == *"Leap"* ]]; then sudo zypper -n in bsdiff curl expect libimobiledevice-1_0-6 python-base vim xmlstarlet zenity
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 [[ $platform == "macos" ]]; then elif [[ $platform == "macos" ]]; then
xcode-select --install xcode-select --install

View File

@ -351,12 +351,12 @@ IPSW4() {
cp -rf ../$cherry/bin/* ../$cherrymac/FirmwareBundles ../$cherrymac/src . cp -rf ../$cherry/bin/* ../$cherrymac/FirmwareBundles ../$cherrymac/src .
unzip -j ../$IPSW.ipsw Firmware/all_flash/all_flash.${HWModel}ap.production/iBoot* unzip -j ../$IPSW.ipsw Firmware/all_flash/all_flash.${HWModel}ap.production/iBoot*
mv iBoot.${HWModel}ap.RELEASE.img3 tmp 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 ./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 "0000010: 6365" | xxd -r - iBoot
echo "0000020: 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 fi
cd .. cd ..