Skip to content

Commit

Permalink
Some changes
Browse files Browse the repository at this point in the history
  • Loading branch information
LukeZGD committed Dec 9, 2024
1 parent ce48f75 commit 12360dc
Showing 1 changed file with 59 additions and 37 deletions.
96 changes: 59 additions & 37 deletions restore.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ List of options:
--no-color Disable colors for script output
--no-device Enable no device mode
--no-version-check Disable script version checking
--pwn Pwn the connected device
For 32-bit devices compatible with restores/downgrades (see README):
--activation-records Enable dumping/stitching activation records
Expand Down Expand Up @@ -1095,8 +1096,8 @@ device_get_info() {
print "* iOS Version: $device_vers"
print "* ECID: $device_ecid"
echo
warn "This device is not supported by Legacy iOS Kit."
print "* You may still continue but features will be very limited."
warn "This device is mostly not supported by Legacy iOS Kit."
print "* You may still continue but options will be limited to sideloading and other basic features."
pause
elif [[ -z $device_proc ]]; then
error "Unrecognized device $device_type. Enter the device type properly."
Expand Down Expand Up @@ -1374,6 +1375,25 @@ device_dfuhelper2() {
device_find_mode DFU
}

device_dfuhelper3() {
echo -e "\n$(print "* Hold TOP and HOME buttons.")"
for i in {10..01}; do
echo -n "$i "
sleep 1
done
echo -e "\n$(print "* Release TOP button and keep holding HOME button.")"
for i in {10..01}; do
echo -n "$i "
sleep 1
done
echo
if [[ $1 == "WTFreal" ]]; then
device_find_mode WTFreal
else
device_find_mode DFU
fi
}

device_dfuhelper() {
local opt
local rec="recovery mode "
Expand Down Expand Up @@ -1407,36 +1427,30 @@ device_dfuhelper() {
sleep 1
done
case $device_type in
iPhone1,* | iPad1,1 | iPad1[12]* ) :;;
iPhone1,* | iPod1,1 ) device_dfuhelper3 $2; return;;
iPad1,1 | iPad1[12]* ) :;;
iPhone1* | iPad[81]* ) device_dfuhelper2; return;;
esac
local top="TOP"
local home="HOME"
case $device_type in
iPhone7* | iPhone8,[12] | iPhone9* ) top="SIDE";;
iPhone[79]* | iPhone8,[12] ) top="SIDE";;
esac
if [[ $device_type == "iPhone9"* || $device_type == "iPod9,1" ]]; then
home="VOL DOWN"
fi
echo -e "\n$(print "* Hold $top and $home buttons.")"
if [[ $device_proc == 1 ]]; then
for i in {10..01}; do
echo -n "$i "
sleep 1
done
else
for i in {08..01}; do
echo -n "$i "
device_find_all $1
opt=$?
if [[ $opt == 1 ]]; then
echo -e "\n$(log 'Found device in DFU mode.')"
device_mode="DFU"
return
fi
sleep 1
done
fi
for i in {08..01}; do
echo -n "$i "
device_find_all $1
opt=$?
if [[ $opt == 1 ]]; then
echo -e "\n$(log 'Found device in DFU mode.')"
device_mode="DFU"
return
fi
sleep 1
done
echo -e "\n$(print "* Release $top button and keep holding $home button.")"
for i in {08..01}; do
echo -n "$i "
Expand All @@ -1450,11 +1464,7 @@ device_dfuhelper() {
sleep 1
done
echo
if [[ $2 == "WTFreal" ]]; then
device_find_mode WTFreal
else
device_find_mode DFU
fi
device_find_mode DFU
}

device_enter_mode() {
Expand Down Expand Up @@ -5019,7 +5029,7 @@ device_buttons() {
fi
input "pwnDFU/kDFU Mode Option"
print "* This device needs to be in pwnDFU/kDFU mode before proceeding."
print "* Selecting 1 (pwnDFU) is recommended. Both your home and power buttons must be working properly for DFU mode."
print "* Selecting 1 (pwnDFU) is recommended. Both your home and power buttons must be working properly for entering DFU mode."
print "* Selecting 2 (kDFU) is for those that prefer the jailbroken method instead (have OpenSSH installed)."
input "Select your option:"
select opt2 in "${selection[@]}"; do
Expand Down Expand Up @@ -7800,6 +7810,7 @@ menu_ipsw_browse() {
"iOS 6.1.3" ) versionc="6.1.3";;
"Latest iOS"* ) versionc="$device_latest_vers";;
[6543]* ) versionc="$1";;
"custom" ) text="Custom";;
esac
if [[ $versionc == "$device_latest_vers" ]]; then
menu_items=()
Expand All @@ -7808,9 +7819,7 @@ menu_ipsw_browse() {
fi
menu_items+=("Open File Picker" "Enter Path" "Go Back")

if [[ $1 == "custom" ]]; then
picker=1
elif [[ "${menu_items[0]}" == *".ipsw" ]]; then
if [[ "${menu_items[0]}" == *".ipsw" ]]; then
print "* Select $text IPSW Menu"
while true; do
input "Select an option:"
Expand Down Expand Up @@ -8255,7 +8264,7 @@ menu_other() {
if [[ $device_mode == "Normal" ]]; then
menu_items+=("Enter kDFU Mode")
fi
if [[ $device_type != "iPod2,1" && $debug_mode == 1 ]]; then
if [[ $device_type != "iPod2,1" ]]; then
menu_items+=("Just Boot")
fi
case $device_proc in
Expand Down Expand Up @@ -8332,6 +8341,7 @@ menu_other() {
"DFU Mode Helper" ) mode="enterdfu";;
"Get iOS Version" ) mode="getversion";;
"Enable Flags" ) menu_flags;;
"Just Boot" ) menu_justboot;;
"Go Back" ) back=1;;
esac
done
Expand Down Expand Up @@ -8913,13 +8923,17 @@ menu_justboot() {
local selected
local back
local vers
local recent="../saved/$device_type/justboot_${device_ecid}"

while [[ -z "$mode" && -z "$back" ]]; do
menu_items=("Enter Build Version" "Select IPSW" "Custom Bootargs")
menu_items=("Enter Build Version" "Select IPSW")
if [[ -s $recent ]]; then
menu_items+=("Recent Build Version")
fi
if [[ -n $vers ]]; then
menu_items+=("Just Boot")
fi
menu_items+=("Go Back")
menu_items+=("Custom Bootargs" "Go Back")
menu_print_info
print " > Main Menu > Just Boot"
print "* You are about to do a tethered boot."
Expand Down Expand Up @@ -8966,8 +8980,15 @@ menu_justboot() {
vers="$device_target_build"
device_rd_build="$vers"
;;
"Recent Build Version" )
vers="$(cat $recent)"
device_rd_build="$vers"
;;
"Just Boot" )
echo "$vers" > $recent
mode="device_justboot"
;;
"Custom Bootargs" ) read -p "$(input 'Enter custom bootargs: ')" device_bootargs;;
"Just Boot" ) mode="device_justboot";;
"Go Back" ) back=1;;
esac
done
Expand Down Expand Up @@ -9435,8 +9456,6 @@ for i in "$@"; do
"--skip-first" ) ipsw_skip_first=1;;
"--skip-blob" ) restore_useskipblob=1;;
"--use-pwndfu" ) restore_usepwndfu64=1;;
"--dfuhelper" ) main_argmode="device_dfuhelper";;
"--exit-recovery" ) main_argmode="exitrecovery";;
"--device"* ) device_type="${i#*=}";;
"--ecid"* ) device_ecid="${i#*=}";;
"--build-id"* ) device_rd_build="${i#*=}";;
Expand All @@ -9454,6 +9473,8 @@ if [[ $no_color != 1 ]]; then
fi

case $1 in
"--dfuhelper" ) main_argmode="device_dfuhelper";;
"--exit-recovery" ) main_argmode="exitrecovery";;
"--just-boot" )
print "* Just Boot usage: --just-boot --device=<type> --build-id=<id>"
print "* Optional: --bootargs=\"<bootargs>\""
Expand All @@ -9471,6 +9492,7 @@ case $1 in
log "Just Boot arguments: $justboot_args"
main_argmode="device_justboot"
;;
"--pwn" ) main_argmode="pwned-ibss";;
esac

trap "clean" EXIT
Expand Down

0 comments on commit 12360dc

Please sign in to comment.