@@ -804,6 +804,9 @@ device_entry() {
804804 read -p " $( input ' Enter device ECID (must be decimal): ' ) " device_ecid
805805 done
806806 fi
807+ if [[ -n $device_ecid && $main_argmode == " device_justboot" ]]; then
808+ cat " $device_rd_build " > " ../saved/$device_type /justboot_${device_ecid} "
809+ fi
807810}
808811
809812device_get_name () {
@@ -2016,10 +2019,9 @@ device_enter_mode() {
20162019 ;;
20172020 esac
20182021 return
2019- elif [[ $device_mode == " DFU" && $mode != " pwned-ibss" &&
2020- $device_boot4 != 1 && $device_srtg != " iBoot" * ]] &&
2022+ elif [[ $device_mode == " DFU" && $device_boot4 != 1 && $device_srtg != " iBoot" * ]] &&
20212023 [[ $device_proc == 5 || $device_proc == 6 ]]; then
2022- log " No SRTG for A5(X)/A6 (X) device in DFU mode! Already pwned iBSS mode?"
2024+ log " No SRTG for A ${device_proc} (X) device in DFU mode! Already pwned iBSS mode?"
20232025 return
20242026 fi
20252027
@@ -2776,7 +2778,7 @@ ipsw_verify() {
27762778 warn " Local SHA1 hash mismatch. Overwriting local hash."
27772779 echo " $IPSWSHA1 " > $device_fw_dir /$build_id /sha1sum
27782780 elif [[ -z $IPSWSHA1E ]]; then
2779- log " Local SHA1 hash does not exist. Creating local hash."
2781+ log " Local SHA1 hash does not exist. Saving local hash."
27802782 echo " $IPSWSHA1 " > $device_fw_dir /$build_id /sha1sum
27812783 fi
27822784
@@ -2923,7 +2925,7 @@ ipsw_prepare_jailbreak() {
29232925 if [[ $ipsw_jailbreak == 1 ]]; then
29242926 if [[ $device_target_vers == " 8.4.1" ]]; then
29252927 ipsw_prepare_rebootsh
2926- JBFiles+=(" $jelbrek /fstab8.tar" )
2928+ JBFiles+=(" $jelbrek /fstab8.tar" " $jelbrek /LukeZGD.tar " )
29272929 JBFiles2=(" daibutsu/bin.tar" " daibutsu/untether.tar" " freeze.tar" )
29282930 for i in {0..2}; do
29292931 cp $jelbrek /${JBFiles2[$i]} .
@@ -3682,9 +3684,8 @@ ipsw_prepare_32bit() {
36823684
36833685 if [[ $ipsw_jailbreak == 1 ]]; then
36843686 case $device_target_vers in
3685- 9.3.[1234] | 9.3 ) JBFiles+=(" untetherhomedepot.tar" );;
3686- 9.2* | 9.1 ) JBFiles+=(" untetherhomedepot921.tar" );;
3687- 9.0* ) JBFiles+=(" everuntether.tar" );;
3687+ 9.3.[56] ) : ;;
3688+ 9* ) JBFiles+=(" everuntether.tar" );;
36883689 7.1* ) # remove for lyncis
36893690 case $device_type in
36903691 iPod* ) JBFiles+=(" panguaxe-ipod.tar" );;
@@ -3706,7 +3707,7 @@ ipsw_prepare_32bit() {
37063707 JBFiles[0]=$jelbrek /${JBFiles[0]}
37073708 fi
37083709 case $device_target_vers in
3709- [98]* ) JBFiles+=(" $jelbrek /fstab8.tar" );;
3710+ [98]* ) JBFiles+=(" $jelbrek /fstab8.tar" " $jelbrek /LukeZGD.tar " );;
37103711 7* ) JBFiles+=(" $jelbrek /fstab7.tar" );;
37113712 4* ) JBFiles+=(" $jelbrek /fstab_old.tar" );;
37123713 * ) JBFiles+=(" $jelbrek /fstab_rw.tar" );;
@@ -3726,10 +3727,8 @@ ipsw_prepare_32bit() {
37263727 ;;
37273728 esac
37283729 JBFiles+=(" $jelbrek /freeze.tar" )
3729- if [[ $device_target_vers == " 9.0 " * ]]; then
3730+ if [[ $device_target_vers == " 9" * ]]; then
37303731 JBFiles+=(" $jelbrek /launchctl.tar" )
3731- elif [[ $device_target_vers == " 9" * ]]; then
3732- JBFiles+=(" $jelbrek /daemonloader.tar" " $jelbrek /launchctl.tar" )
37333732 elif [[ $device_target_vers == " 5" * ]]; then
37343733 JBFiles+=(" $jelbrek /cydiasubstrate.tar" " $jelbrek /g1lbertJB.tar" )
37353734 fi
@@ -6279,13 +6278,12 @@ device_ramdisk() {
62796278 fi
62806279
62816280 case $vers in
6282- 9.3.[4231] | 9.3 ) untether=" untetherhomedepot.tar" ;;
6283- 9.2* | 9.1 ) untether=" untetherhomedepot921.tar" ;;
6284- 9.0* ) untether=" everuntether.tar" ;;
6285- 8* ) untether=" daibutsu/untether.tar" ;;
6286- 6.1.[6543] ) untether=" p0sixspwn.tar" ;;
6287- 6* ) untether=" evasi0n6-untether.tar" ;;
6288- 5* ) untether=" g1lbertJB/${device_type} _${build} .tar" ;;
6281+ 9.3.[56] ) : ;;
6282+ 9* ) untether=" everuntether.tar" ;;
6283+ 8* ) untether=" daibutsu/untether.tar" ;;
6284+ 6.1.[6543] ) untether=" p0sixspwn.tar" ;;
6285+ 6* ) untether=" evasi0n6-untether.tar" ;;
6286+ 5* ) untether=" g1lbertJB/${device_type} _${build} .tar" ;;
62896287 7.1* )
62906288 case $device_type in
62916289 iPod* ) untether=" panguaxe-ipod.tar" ;;
@@ -6362,7 +6360,7 @@ device_ramdisk() {
63626360
63636361 # do stuff
63646362 case $vers in
6365- [98]* ) device_send_rdtar fstab8.tar;;
6363+ [98]* ) device_send_rdtar fstab8.tar; device_send_rdtar LukeZGD.tar; ;
63666364 7* ) device_send_rdtar fstab7.tar;;
63676365 6* ) device_send_rdtar fstab_rw.tar;;
63686366 4.2.[8761] )
@@ -6409,18 +6407,14 @@ device_ramdisk() {
64096407 fi
64106408
64116409 # extras extraction
6412- if [[ $vers == " 9" * ]]; then
6413- # required stuff for everuntether and untetherhomedepot
6414- [[ $vers != " 9.0" * ]] && device_send_rdtar daemonloader.tar
6415- device_send_rdtar launchctl.tar
6416- fi
64176410 if [[ $ipsw_openssh == 1 ]]; then
64186411 device_send_rdtar sshdeb.tar
64196412 fi
64206413 case $vers in
64216414 [543]* ) device_send_rdtar cydiasubstrate.tar;;
64226415 esac
64236416 case $vers in
6417+ 9* ) device_send_rdtar launchctl.tar;;
64246418 3* ) device_send_rdtar cydiahttpatch.tar;;
64256419 esac
64266420
@@ -8484,7 +8478,9 @@ menu_ipsw_browse() {
84848478 local text=" Target"
84858479 local picker
84868480
8481+ ipsw_latest_set
84878482 local menu_items=($( ls ../$device_type * Restore.ipsw 2> /dev/null) )
8483+ [[ $device_type2 != " $device_type " ]] && menu_items+=($( ls ../$device_type2 * $device_latest_vers * Restore.ipsw 2> /dev/null) )
84888484 if [[ $1 == " base" ]]; then
84898485 text=" Base"
84908486 menu_items=()
@@ -8503,8 +8499,11 @@ menu_ipsw_browse() {
85038499 [6543]* ) versionc=" $1 " ;;
85048500 " custom" ) text=" Custom" ;;
85058501 esac
8506- if [[ $versionc == " $device_latest_vers " || $ 1 == " custom" ]]; then
8502+ if [[ $1 == " custom" ]]; then
85078503 menu_items=()
8504+ elif [[ $versionc == " $device_latest_vers " ]]; then
8505+ menu_items=($( ls ../$device_type * $device_latest_vers * Restore.ipsw 2> /dev/null) )
8506+ [[ $device_type2 != " $device_type " ]] && menu_items+=($( ls ../$device_type2 * $device_latest_vers * Restore.ipsw 2> /dev/null) )
85088507 elif [[ -n $versionc ]]; then
85098508 menu_items=($( ls ../${device_type} _${versionc} * Restore.ipsw 2> /dev/null) )
85108509 fi
@@ -8546,11 +8545,16 @@ menu_ipsw_browse() {
85468545 log " Selected IPSW file: $newpath .ipsw"
85478546 ipsw_version_set " $newpath " " $1 "
85488547
8549- if [[ $platform == " macos " && $device_target_vers == " $device_latest_vers " ]] && (( device_proc >= 7 )) ; then
8548+ if [[ $device_target_vers == " $device_latest_vers " && $platform == " macos " ]] && (( device_proc >= 7 )) ; then
85508549 log " Restoring to latest iOS for 64-bit devices is not supported on macOS, use iTunes/Finder instead for that"
85518550 pause
85528551 return
85538552 fi
8553+ if [[ $device_target_vers == " $device_latest_vers " && $device_target_other == 1 ]]; then
8554+ log " For restoring to latest iOS, select the \" Latest iOS\" option instead of \" Other (Use SHSH Blobs)\" "
8555+ pause
8556+ return
8557+ fi
85548558 if [[ $( cat Restore.plist | grep -c $device_type ) == 0 ]]; then
85558559 log " Selected IPSW is not for your device $device_type ."
85568560 pause
@@ -9919,8 +9923,8 @@ device_dumpapp() {
99199923 case $selected3 in
99209924 " Clutch" )
99219925 case $device_det in
9922- [67] ) dumper_binary=" clutch204" ;; # iOS 6 - 7
99239926 5 ) dumper_binary=" clutch13" ;; # iOS 5
9927+ [67] ) dumper_binary=" clutch204" ;; # iOS 6 - 7
99249928 * ) dumper_binary=" clutch" ;; # iOS 8 - 12.0.x
99259929 esac
99269930 ;;
0 commit comments