diff --git a/bin/linux/arm64/PlistBuddy b/bin/linux/arm64/PlistBuddy index 1917c3a..4d31212 100755 Binary files a/bin/linux/arm64/PlistBuddy and b/bin/linux/arm64/PlistBuddy differ diff --git a/bin/linux/arm64/ideviceactivation b/bin/linux/arm64/ideviceactivation index 548d60a..10c39f7 100755 Binary files a/bin/linux/arm64/ideviceactivation and b/bin/linux/arm64/ideviceactivation differ diff --git a/bin/linux/arm64/idevicebackup b/bin/linux/arm64/idevicebackup new file mode 100755 index 0000000..40117d0 Binary files /dev/null and b/bin/linux/arm64/idevicebackup differ diff --git a/bin/linux/arm64/idevicebackup2 b/bin/linux/arm64/idevicebackup2 index c531198..2e0287b 100755 Binary files a/bin/linux/arm64/idevicebackup2 and b/bin/linux/arm64/idevicebackup2 differ diff --git a/bin/linux/arm64/idevicediagnostics b/bin/linux/arm64/idevicediagnostics index 2fe2491..534ebd4 100755 Binary files a/bin/linux/arm64/idevicediagnostics and b/bin/linux/arm64/idevicediagnostics differ diff --git a/bin/linux/arm64/ideviceenterrecovery b/bin/linux/arm64/ideviceenterrecovery index 02ef531..17391be 100755 Binary files a/bin/linux/arm64/ideviceenterrecovery and b/bin/linux/arm64/ideviceenterrecovery differ diff --git a/bin/linux/arm64/ideviceinfo b/bin/linux/arm64/ideviceinfo index e1a0bba..7891914 100755 Binary files a/bin/linux/arm64/ideviceinfo and b/bin/linux/arm64/ideviceinfo differ diff --git a/bin/linux/arm64/ideviceinstaller b/bin/linux/arm64/ideviceinstaller index 621728c..98fbaca 100755 Binary files a/bin/linux/arm64/ideviceinstaller and b/bin/linux/arm64/ideviceinstaller differ diff --git a/bin/linux/arm64/idevicepair b/bin/linux/arm64/idevicepair index 38c88d4..1995b98 100755 Binary files a/bin/linux/arm64/idevicepair and b/bin/linux/arm64/idevicepair differ diff --git a/bin/linux/arm64/idevicerestore b/bin/linux/arm64/idevicerestore index 6999d70..14811e5 100755 Binary files a/bin/linux/arm64/idevicerestore and b/bin/linux/arm64/idevicerestore differ diff --git a/bin/linux/arm64/iproxy b/bin/linux/arm64/iproxy index 2381d16..477b047 100755 Binary files a/bin/linux/arm64/iproxy and b/bin/linux/arm64/iproxy differ diff --git a/bin/linux/arm64/irecovery b/bin/linux/arm64/irecovery index 2666b4f..399b177 100755 Binary files a/bin/linux/arm64/irecovery and b/bin/linux/arm64/irecovery differ diff --git a/bin/linux/arm64/lib/libcrypto.so.1.1 b/bin/linux/arm64/lib/libcrypto.so.1.1 deleted file mode 100644 index 5ee5c18..0000000 Binary files a/bin/linux/arm64/lib/libcrypto.so.1.1 and /dev/null differ diff --git a/bin/linux/arm64/lib/libcrypto.so.35 b/bin/linux/arm64/lib/libcrypto.so.35 new file mode 100644 index 0000000..df92875 Binary files /dev/null and b/bin/linux/arm64/lib/libcrypto.so.35 differ diff --git a/bin/linux/arm64/lib/libssl.so.1.1 b/bin/linux/arm64/lib/libssl.so.1.1 deleted file mode 100644 index 0be3819..0000000 Binary files a/bin/linux/arm64/lib/libssl.so.1.1 and /dev/null differ diff --git a/bin/linux/arm64/lib/libssl.so.35 b/bin/linux/arm64/lib/libssl.so.35 new file mode 100644 index 0000000..4a87acb Binary files /dev/null and b/bin/linux/arm64/lib/libssl.so.35 differ diff --git a/bin/linux/x86_64/PlistBuddy b/bin/linux/x86_64/PlistBuddy index 8762cc1..74ef621 100755 Binary files a/bin/linux/x86_64/PlistBuddy and b/bin/linux/x86_64/PlistBuddy differ diff --git a/bin/linux/x86_64/ideviceactivation b/bin/linux/x86_64/ideviceactivation index 5370987..4de4d9e 100755 Binary files a/bin/linux/x86_64/ideviceactivation and b/bin/linux/x86_64/ideviceactivation differ diff --git a/bin/linux/x86_64/idevicebackup b/bin/linux/x86_64/idevicebackup new file mode 100755 index 0000000..5409ddc Binary files /dev/null and b/bin/linux/x86_64/idevicebackup differ diff --git a/bin/linux/x86_64/idevicebackup2 b/bin/linux/x86_64/idevicebackup2 index ba1c84b..4e28c80 100755 Binary files a/bin/linux/x86_64/idevicebackup2 and b/bin/linux/x86_64/idevicebackup2 differ diff --git a/bin/linux/x86_64/idevicediagnostics b/bin/linux/x86_64/idevicediagnostics index 8727490..5c26b8b 100755 Binary files a/bin/linux/x86_64/idevicediagnostics and b/bin/linux/x86_64/idevicediagnostics differ diff --git a/bin/linux/x86_64/ideviceenterrecovery b/bin/linux/x86_64/ideviceenterrecovery index 34ad3f3..0cc3ca2 100755 Binary files a/bin/linux/x86_64/ideviceenterrecovery and b/bin/linux/x86_64/ideviceenterrecovery differ diff --git a/bin/linux/x86_64/ideviceinfo b/bin/linux/x86_64/ideviceinfo index 2bad85b..cb556ad 100755 Binary files a/bin/linux/x86_64/ideviceinfo and b/bin/linux/x86_64/ideviceinfo differ diff --git a/bin/linux/x86_64/ideviceinstaller b/bin/linux/x86_64/ideviceinstaller index ff0ab00..3066f67 100755 Binary files a/bin/linux/x86_64/ideviceinstaller and b/bin/linux/x86_64/ideviceinstaller differ diff --git a/bin/linux/x86_64/idevicepair b/bin/linux/x86_64/idevicepair index c3aad31..fe1e180 100755 Binary files a/bin/linux/x86_64/idevicepair and b/bin/linux/x86_64/idevicepair differ diff --git a/bin/linux/x86_64/idevicerestore b/bin/linux/x86_64/idevicerestore index 4a668bf..1a04d3c 100755 Binary files a/bin/linux/x86_64/idevicerestore and b/bin/linux/x86_64/idevicerestore differ diff --git a/bin/linux/x86_64/iproxy b/bin/linux/x86_64/iproxy index 8fd5781..ba80e97 100755 Binary files a/bin/linux/x86_64/iproxy and b/bin/linux/x86_64/iproxy differ diff --git a/bin/linux/x86_64/irecovery b/bin/linux/x86_64/irecovery index b25e1f8..1928830 100755 Binary files a/bin/linux/x86_64/irecovery and b/bin/linux/x86_64/irecovery differ diff --git a/bin/linux/x86_64/lib/libcrypto.so.1.1 b/bin/linux/x86_64/lib/libcrypto.so.1.1 deleted file mode 100644 index 2caf7aa..0000000 Binary files a/bin/linux/x86_64/lib/libcrypto.so.1.1 and /dev/null differ diff --git a/bin/linux/x86_64/lib/libcrypto.so.35 b/bin/linux/x86_64/lib/libcrypto.so.35 new file mode 100644 index 0000000..00c1bdf Binary files /dev/null and b/bin/linux/x86_64/lib/libcrypto.so.35 differ diff --git a/bin/linux/x86_64/lib/libssl.so.1.1 b/bin/linux/x86_64/lib/libssl.so.1.1 deleted file mode 100644 index 0fb2394..0000000 Binary files a/bin/linux/x86_64/lib/libssl.so.1.1 and /dev/null differ diff --git a/bin/linux/x86_64/lib/libssl.so.35 b/bin/linux/x86_64/lib/libssl.so.35 new file mode 100644 index 0000000..c9b9853 Binary files /dev/null and b/bin/linux/x86_64/lib/libssl.so.35 differ diff --git a/bin/macos/arm64/idevicebackup b/bin/macos/arm64/idevicebackup new file mode 100755 index 0000000..5199016 Binary files /dev/null and b/bin/macos/arm64/idevicebackup differ diff --git a/bin/macos/idevicebackup b/bin/macos/idevicebackup new file mode 100755 index 0000000..201a103 Binary files /dev/null and b/bin/macos/idevicebackup differ diff --git a/restore.sh b/restore.sh index 71ab703..cb66c43 100755 --- a/restore.sh +++ b/restore.sh @@ -348,10 +348,6 @@ set_tool_paths() { pause fi bspatch="$dir/bspatch" - dir_env="env LD_LIBRARY_PATH=$dir/lib " - ideviceactivation="$dir_env" - idevicediagnostics="$dir_env" - ideviceinstaller="$dir_env" PlistBuddy="$dir/PlistBuddy" sha1sum="$(command -v sha1sum)" tsschecker="$dir/tsschecker" @@ -360,6 +356,7 @@ set_tool_paths() { ssh2="$dir/ssh" cp $ssh2 . chmod +x ssh + export LD_LIBRARY_PATH="$dir/lib" # live cd/usb check if [[ $(id -u $USER) == 999 || $USER == "liveuser" ]]; then @@ -2170,11 +2167,13 @@ device_ipwndfu() { print "* You may also install python2 from pyenv if something is wrong with system python2" print "* Install pyenv by running: curl https://pyenv.run | bash" print "* Install python2 from pyenv by running: pyenv install 2.7.18" + print "* Also run this if it errors on pyenv install: export CFLAGS=\"-std=c17\"" elif [[ -n "$python2" && $device_sudoloop == 1 ]]; then p2_sudo="sudo" elif [[ -z "$python2" && ! -e "$pyenv2" ]]; then warn "python2 is not installed. Attempting to install python2 before continuing" print "* Install python2 from pyenv by running: pyenv install 2.7.18" + print "* Also run this if it errors on pyenv install: export CFLAGS=\"-std=c17\"" if [[ -z "$pyenv" ]]; then warn "pyenv is not installed. Attempting to install pyenv before continuing" print "* Install pyenv by running: curl https://pyenv.run | bash" @@ -2188,7 +2187,7 @@ device_ipwndfu() { fi log "Installing python2 using pyenv" print "* This step may take some time - Be patient and let it run." - "$pyenv" install 2.7.18 + CFLAGS="-std=c17" "$pyenv" install 2.7.18 if [[ ! -e "$pyenv2" ]]; then warn "Cannot detect python2 from pyenv, its installation may have failed." print "* Try installing pyenv and/or python2 manually:" @@ -7178,7 +7177,7 @@ menu_datamanage() { print "* Note 4: Backups do not include apps. Only some app data and settings" print "* For dumping apps, go to: https://www.reddit.com/r/LegacyJailbreak/wiki/guides/crackingapps" if (( device_det < 4 )) && [[ $device_det != 1 ]]; then - warn "Device is on lower than iOS 4. Backup and Restore options are not available." + warn "Device is on lower than iOS 4. Backup and Restore options are not available." # remove/enable when ios 3 idevicebackup stuff is fully working else menu_items+=("Backup" "Restore") fi @@ -7229,7 +7228,11 @@ menu_backup_restore() { while [[ -z "$mode" && -z "$back" ]]; do menu_print_info - local backupdir="../saved/backups/${device_ecid}_${device_type}" + local backups="backups" + if (( device_det <= 3 )); then + backups+="1" + fi + local backupdir="../saved/$backups/${device_ecid}_${device_type}" if [[ ! -d $backupdir ]]; then mkdir -p $backupdir fi @@ -10040,29 +10043,41 @@ device_fourthree_check() { } device_backup_create() { - print "* A backup of your device will be created using idevicebackup2. Please see the notes above." + local backups="backups" + local idevicebackup="idevicebackup2" + local args="--full" + if (( device_det <= 3 )); then + backups+="1" + idevicebackup="idevicebackup" + args= + fi + print "* A backup of your device will be created. Please see the notes above." pause - device_backup="../saved/backups/${device_ecid}_${device_type}/$(date +%Y-%m-%d-%H%M)" + device_backup="../saved/$backups/${device_ecid}_${device_type}/$(date +%Y-%m-%d-%H%M)" mkdir -p $device_backup pushd "$(dirname $device_backup)" dir="../../$dir" - if [[ -n $dir_env ]]; then - dir_env="env LD_LIBRARY_PATH=$dir/lib " - fi - $dir_env "$dir/idevicebackup2" backup --full "$(basename $device_backup)" + export LD_LIBRARY_PATH="$dir/lib" + "$dir/$idevicebackup" backup $args "$(basename $device_backup)" popd } device_backup_restore() { + local backups="backups" + local idevicebackup="idevicebackup2" + local args="--system --settings" + if (( device_det <= 3 )); then + backups+="1" + idevicebackup="idevicebackup" + args= + fi print "* The selected backup $device_backup will be restored to the device." pause - device_backup="../saved/backups/${device_ecid}_${device_type}/$device_backup" + device_backup="../saved/$backups/${device_ecid}_${device_type}/$device_backup" pushd "$(dirname $device_backup)" dir="../../$dir" - if [[ -n $dir_env ]]; then - dir_env="env LD_LIBRARY_PATH=$dir/lib " - fi - $dir_env "$dir/idevicebackup2" restore --system --settings "$(basename $device_backup)" + export LD_LIBRARY_PATH="$dir/lib" + "$dir/$idevicebackup" restore $args "$(basename $device_backup)" popd } @@ -10076,7 +10091,7 @@ device_erase() { error "Not proceeding." fi log "Proceeding." - $dir_env "$dir/idevicebackup2" erase + "$dir/idevicebackup2" erase } main() {