@@ -284,8 +284,6 @@ set_tool_paths() {
284284 # architecture check
285285 if [[ $( uname -m) == " a" * && $( getconf LONG_BIT) == 64 ]]; then
286286 platform_arch=" arm64"
287- elif [[ $( uname -m) == " a" * ]]; then
288- platform_arch=" armhf"
289287 elif [[ $( uname -m) == " x86_64" ]]; then
290288 platform_arch=" x86_64"
291289 else
@@ -343,12 +341,10 @@ set_tool_paths() {
343341 pause
344342 fi
345343 bspatch=" $dir /bspatch"
346- if [[ $platform_arch != " armhf" ]]; then
347- dir_env=" env LD_LIBRARY_PATH=$dir /lib "
348- ideviceactivation=" $dir_env "
349- idevicediagnostics=" $dir_env "
350- ideviceinstaller=" $dir_env "
351- fi
344+ dir_env=" env LD_LIBRARY_PATH=$dir /lib "
345+ ideviceactivation=" $dir_env "
346+ idevicediagnostics=" $dir_env "
347+ ideviceinstaller=" $dir_env "
352348 PlistBuddy=" $dir /PlistBuddy"
353349 sha1sum=" $( command -v sha1sum) "
354350 tsschecker=" $dir /tsschecker"
@@ -456,7 +452,7 @@ set_tool_paths() {
456452 # go here if need to disable os x 10.11 support for now
457453 if (( mac_minver < 11 )) ; then
458454 warn " Your macOS version ($platform_ver - $platform_arch ) is not supported. Expect features to not work properly."
459- print " * Supported versions are macOS 10.11 and newer. (10.12 and newer recommended)"
455+ print " * Supported macOS versions are 10.11 and newer. (10.12 and newer recommended)"
460456 pause
461457 fi
462458 if (( mac_minver <= 11 )) ; then
@@ -1830,7 +1826,10 @@ device_enter_mode() {
18301826 5 ) device_ipwndfu send_ibss;;
18311827 6 )
18321828 if [[ $device_pwnd == " iPwnder" ]]; then
1829+ mkdir image3 ../saved/image3 2> /dev/null
1830+ cp ../saved/image3/* image3/ 2> /dev/null
18331831 " ../bin/macos/ipwnder2" --upload-iboot
1832+ cp image3/* ../saved/image3/
18341833 sleep 1
18351834 device_pwnd=" $( $irecovery -q | grep " PWND" | cut -c 7-) "
18361835 if [[ -z $device_pwnd ]]; then
@@ -1957,6 +1956,7 @@ device_enter_mode() {
19571956 elif [[ $device_proc == 6 ]]; then
19581957 # A6 asi mac uses ipwnder_lite
19591958 log " Placing device to pwnDFU mode using ipwnder_lite"
1959+ print " * If it gets stuck at \" [set_global_state] (2/3) e0004051\" , the exploit failed. Just press Ctrl+C, re-enter DFU, and retry."
19601960 mkdir image3 ../saved/image3 2> /dev/null
19611961 cp ../saved/image3/* image3/ 2> /dev/null
19621962 $ipwnder -d
@@ -6962,13 +6962,18 @@ menu_main() {
69626962}
69636963
69646964menu_appmanage () {
6965- local menu_items
6965+ local menu_items=()
69666966 local selected
69676967 local back
69686968
69696969 menu_print_info
69706970 while [[ -z " $mode " && -z " $back " ]]; do
6971- menu_items=(" Install IPA (AppSync)" " List User Apps" " List System Apps" " List All Apps" " Go Back" )
6971+ if [[ $device_unactivated == 1 ]]; then
6972+ warn " Device is not activated. Install IPA (AppSync) option is not available."
6973+ else
6974+ menu_items+=(" Install IPA (AppSync)" )
6975+ fi
6976+ menu_items+=(" List User Apps" " List System Apps" " List All Apps" " Go Back" )
69726977 print " > Main Menu > App Management"
69736978 input " Select an option:"
69746979 select_option " ${menu_items[@]} "
@@ -7165,14 +7170,9 @@ menu_ipa() {
71657170 " Use Dadoum Sideloader" )
71667171 local arch=" $platform_arch "
71677172 local sideloader=" sideloader-gtk-"
7168- case $arch in
7169- " armhf" )
7170- warn " Dadoum Sideloader does not support armhf/armv7. arm64 or x86_64 only."
7171- pause
7172- continue
7173- ;;
7174- " arm64" ) arch=" aarch64" ;;
7175- esac
7173+ if [[ $arch == " arm64" ]]; then
7174+ arch=" aarch64"
7175+ fi
71767176 sideloader+=" $arch -linux-gnu"
71777177 log " Checking for latest Sideloader"
71787178 local latest=" $( curl https://api.github.com/repos/Dadoum/Sideloader/releases | $jq -r " .[0].tag_name" ) "
@@ -8060,6 +8060,9 @@ ipsw_print_warnings() {
80608060 else
80618061 warn " Selected Target IPSW failed validation, proceed with caution"
80628062 fi
8063+ if [[ $device_target_vers == " 9.3" * && $device_actrec == 1 ]]; then
8064+ warn " Activation records stitching does not work for iOS 9.3+ versions. Use iOS 9.2.1 or lower instead."
8065+ fi
80638066 if [[ $1 == " powder" ]]; then
80648067 case $device_target_build in
80658068 8[ABC]* ) warn " iOS 4.2.1 and lower are hit or miss. It may not restore/boot properly" ;;
@@ -9530,10 +9533,10 @@ device_altserver() {
95309533 local sha1=" 4bca48e9cda0517cc965250a797f97d5e8cc2de6"
95319534 local anisette=" ../saved/anisette-server-$platform "
95329535 local arch=" $platform_arch "
9533- case $arch in
9534- " armhf " ) arch=" armv7 " ; sha1= " 20e9ea770dbedb5c3c20f8b966be977efa2fa4cc " ;;
9535- " arm64 " ) arch= " aarch64 " ; sha1=" 535926e5a14dc8f59f3f99197ca4122c7af8dfaf" ;;
9536- esac
9536+ if [[ $arch == " arm64 " ]] ; then
9537+ arch=" aarch64 "
9538+ sha1=" 535926e5a14dc8f59f3f99197ca4122c7af8dfaf"
9539+ fi
95379540 altserver+=" _$arch "
95389541 anisette+=" _$arch "
95399542 if [[ $( $sha1sum $altserver 2> /dev/null | awk ' {print $1}' ) != " $sha1 " ]]; then
@@ -9888,21 +9891,16 @@ main() {
98889891 " baseband" )
98899892 device_dump baseband
98909893 log " Baseband dumping is done"
9891- print " * To stitch baseband to IPSW, run Legacy iOS Kit with --disable-bbupdate argument :"
9894+ print " * To stitch baseband to IPSW, run Legacy iOS Kit with --disable-bbupdate flag :"
98929895 print " > ./restore.sh --disable-bbupdate"
98939896 ;;
98949897 " actrec" )
9895- if (( device_proc >= 7 )) ; then
9896- warn " Activation records dumping is experimental for 64-bit devices."
9897- print " * It may not work on newer iOS versions and/or have incomplete files."
9898- print " * For more info of the files, go here: https://www.reddit.com/r/LegacyJailbreak/wiki/guides/a9ios9activation"
9899- print " * You may also look into here: https://gist.github.com/pixdoet/2b58cce317a3bc7158dfe10c53e3dd32"
9900- pause
9901- fi
99029898 device_dump activation
99039899 log " Activation records dumping is done"
9900+ print " * The output tar file contains the plist file(s) dumped. activation_record.plist is all you need for activation"
9901+ print " * Note: Using the activation records only works on iOS 9.2.1 or lower. It will not work on iOS 9.3+"
99049902 if (( device_proc < 7 )) ; then
9905- print " * To stitch records to IPSW, run Legacy iOS Kit with --activation-records argument :"
9903+ print " * To stitch activation to IPSW, run Legacy iOS Kit with --activation-records flag :"
99069904 print " > ./restore.sh --activation-records"
99079905 fi
99089906 ;;
@@ -9913,7 +9911,9 @@ main() {
99139911 " exitrecovery" )
99149912 log " Attempting to exit Recovery mode."
99159913 $irecovery -n
9916- print " * Note: For tether downgrades, you need to boot your device using the Just Boot option. Exiting recovery mode will not work."
9914+ if [[ $device_proc != 1 ]] && (( device_proc < 7 )) ; then
9915+ print " * Note: For tethered downgrades, you need to boot your device using the Just Boot option. Exiting recovery mode will not work."
9916+ fi
99179917 if [[ $device_canpowder == 1 ]]; then
99189918 print " * Note 2: If your device is stuck in recovery mode, it may have been restored with powdersn0w before."
99199919 print " - If so, try to clear the device's NVRAM: go to Useful Utilities -> Clear NVRAM"
0 commit comments