mirror of
https://github.com/LukeZGD/Legacy-iOS-Kit.git
synced 2024-11-30 03:44:18 +01:00
An update
This commit is contained in:
parent
bc4db90940
commit
8f309aa8b3
Binary file not shown.
228
restore.sh
228
restore.sh
@ -610,6 +610,7 @@ device_entry() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
device_get_name() {
|
device_get_name() {
|
||||||
|
# all devices that run iOS/iPhoneOS/iPadOS
|
||||||
device_name=$device_type
|
device_name=$device_type
|
||||||
case $device_type in
|
case $device_type in
|
||||||
"iPhone1,1") device_name="iPhone 2G";;
|
"iPhone1,1") device_name="iPhone 2G";;
|
||||||
@ -760,7 +761,7 @@ device_get_name() {
|
|||||||
"iPad16,4") device_name="iPad Pro 11\" (M4, Cellular)";;
|
"iPad16,4") device_name="iPad Pro 11\" (M4, Cellular)";;
|
||||||
"iPad16,5") device_name="iPad Pro 12.9\" (M4, Wi-Fi)";;
|
"iPad16,5") device_name="iPad Pro 12.9\" (M4, Wi-Fi)";;
|
||||||
"iPad16,6") device_name="iPad Pro 12.9\" (M4, Cellular)";;
|
"iPad16,6") device_name="iPad Pro 12.9\" (M4, Cellular)";;
|
||||||
"iPod1,1") device_name="iPod touch";;
|
"iPod1,1") device_name="iPod touch 1";;
|
||||||
"iPod2,1") device_name="iPod touch 2";;
|
"iPod2,1") device_name="iPod touch 2";;
|
||||||
"iPod3,1") device_name="iPod touch 3";;
|
"iPod3,1") device_name="iPod touch 3";;
|
||||||
"iPod4,1") device_name="iPod touch 4";;
|
"iPod4,1") device_name="iPod touch 4";;
|
||||||
@ -942,6 +943,7 @@ device_get_info() {
|
|||||||
device_model=$($ideviceinfo -s -k HardwareModel)
|
device_model=$($ideviceinfo -s -k HardwareModel)
|
||||||
device_vers=$($ideviceinfo -s -k ProductVersion)
|
device_vers=$($ideviceinfo -s -k ProductVersion)
|
||||||
device_det=$(echo "$device_vers" | cut -c 1)
|
device_det=$(echo "$device_vers" | cut -c 1)
|
||||||
|
device_det2=$(echo "$device_vers" | cut -c -2)
|
||||||
device_build=$($ideviceinfo -s -k BuildVersion)
|
device_build=$($ideviceinfo -s -k BuildVersion)
|
||||||
device_udid=$($ideviceinfo -s -k UniqueDeviceID)
|
device_udid=$($ideviceinfo -s -k UniqueDeviceID)
|
||||||
[[ -z $device_udid ]] && device_udid=$($ideviceinfo -k UniqueDeviceID)
|
[[ -z $device_udid ]] && device_udid=$($ideviceinfo -k UniqueDeviceID)
|
||||||
@ -961,7 +963,7 @@ device_get_info() {
|
|||||||
device_model="$(echo $device_model | tr '[:upper:]' '[:lower:]')"
|
device_model="$(echo $device_model | tr '[:upper:]' '[:lower:]')"
|
||||||
device_model="${device_model%??}" # remove "ap" from the end
|
device_model="${device_model%??}" # remove "ap" from the end
|
||||||
if [[ -z $device_type && -n $device_model ]]; then
|
if [[ -z $device_type && -n $device_model ]]; then
|
||||||
# device_model fallback
|
# device_model fallback (this will be up to checkm8 devices only)
|
||||||
case $device_model in
|
case $device_model in
|
||||||
k48 ) device_type="iPad1,1";;
|
k48 ) device_type="iPad1,1";;
|
||||||
k93 ) device_type="iPad2,1";;
|
k93 ) device_type="iPad2,1";;
|
||||||
@ -990,6 +992,22 @@ device_get_info() {
|
|||||||
j97 ) device_type="iPad5,2";;
|
j97 ) device_type="iPad5,2";;
|
||||||
j81 ) device_type="iPad5,3";;
|
j81 ) device_type="iPad5,3";;
|
||||||
j82 ) device_type="iPad5,4";;
|
j82 ) device_type="iPad5,4";;
|
||||||
|
j127 ) device_type="iPad6,3";;
|
||||||
|
j128 ) device_type="iPad6,4";;
|
||||||
|
j98a ) device_type="iPad6,7";;
|
||||||
|
j99a ) device_type="iPad6,8";;
|
||||||
|
j71s ) device_type="iPad6,11";;
|
||||||
|
j71t ) device_type="iPad6,11";;
|
||||||
|
j72s ) device_type="iPad6,12";;
|
||||||
|
j72t ) device_type="iPad6,12";;
|
||||||
|
j120 ) device_type="iPad7,1";;
|
||||||
|
j121 ) device_type="iPad7,2";;
|
||||||
|
j207 ) device_type="iPad7,3";;
|
||||||
|
j208 ) device_type="iPad7,4";;
|
||||||
|
j71b ) device_type="iPad7,5";;
|
||||||
|
j72b ) device_type="iPad7,6";;
|
||||||
|
j171 ) device_type="iPad7,11";;
|
||||||
|
j172 ) device_type="iPad7,12";;
|
||||||
m68 ) device_type="iPhone1,1";;
|
m68 ) device_type="iPhone1,1";;
|
||||||
n82 ) device_type="iPhone1,2";;
|
n82 ) device_type="iPhone1,2";;
|
||||||
n88 ) device_type="iPhone2,1";;
|
n88 ) device_type="iPhone2,1";;
|
||||||
@ -1015,6 +1033,12 @@ device_get_info() {
|
|||||||
d11 ) device_type="iPhone9,2";;
|
d11 ) device_type="iPhone9,2";;
|
||||||
d101 ) device_type="iPhone9,3";;
|
d101 ) device_type="iPhone9,3";;
|
||||||
d111 ) device_type="iPhone9,4";;
|
d111 ) device_type="iPhone9,4";;
|
||||||
|
d20 ) device_type="iPhone10,1";;
|
||||||
|
d21 ) device_type="iPhone10,2";;
|
||||||
|
d22 ) device_type="iPhone10,3";;
|
||||||
|
d201 ) device_type="iPhone10,4";;
|
||||||
|
d211 ) device_type="iPhone10,5";;
|
||||||
|
d221 ) device_type="iPhone10,6";;
|
||||||
n45 ) device_type="iPod1,1";;
|
n45 ) device_type="iPod1,1";;
|
||||||
n72 ) device_type="iPod2,1";;
|
n72 ) device_type="iPod2,1";;
|
||||||
n18 ) device_type="iPod3,1";;
|
n18 ) device_type="iPod3,1";;
|
||||||
@ -1249,9 +1273,16 @@ device_find_mode() {
|
|||||||
|
|
||||||
device_sshpass() {
|
device_sshpass() {
|
||||||
# ask for device password and use sshpass for scp and ssh
|
# ask for device password and use sshpass for scp and ssh
|
||||||
|
ssh_user="root"
|
||||||
|
if [[ $device_det == 1 ]]; then
|
||||||
|
if (( device_det2 >= 15 )); then
|
||||||
|
log "iOS 15+ device detected. Connecting to device SSH as mobile..."
|
||||||
|
ssh_user="mobile"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
local pass=$1
|
local pass=$1
|
||||||
if [[ -z $pass ]]; then
|
if [[ -z $pass ]]; then
|
||||||
read -s -p "$(input 'Enter the root password of your iOS device: ')" pass
|
read -s -p "$(input "Enter the SSH $ssh_user password of your iOS device: ")" pass
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
if [[ -z $pass ]]; then
|
if [[ -z $pass ]]; then
|
||||||
@ -1439,10 +1470,12 @@ device_enter_mode() {
|
|||||||
|
|
||||||
"Recovery" )
|
"Recovery" )
|
||||||
if [[ $device_mode == "Normal" ]]; then
|
if [[ $device_mode == "Normal" ]]; then
|
||||||
print "* The device needs to be in recovery/DFU mode before proceeding."
|
if [[ $mode != "enterrecovery" ]]; then
|
||||||
read -p "$(input 'Send device to recovery mode? (Y/n): ')" opt
|
print "* The device needs to be in recovery/DFU mode before proceeding."
|
||||||
if [[ $opt == 'n' || $opt == 'N' ]]; then
|
read -p "$(input 'Send device to recovery mode? (Y/n): ')" opt
|
||||||
exit
|
if [[ $opt == 'n' || $opt == 'N' ]]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
log "Entering recovery mode..."
|
log "Entering recovery mode..."
|
||||||
print "* If the device does not enter recovery mode automatically:"
|
print "* If the device does not enter recovery mode automatically:"
|
||||||
@ -2237,12 +2270,12 @@ ipsw_preference_set() {
|
|||||||
print "* This option is enabled by default (Y). Select this option if unsure."
|
print "* This option is enabled by default (Y). Select this option if unsure."
|
||||||
if [[ $device_type == "iPad2"* && $device_target_vers == "4.3"* && $device_target_tethered != 1 ]]; then
|
if [[ $device_type == "iPad2"* && $device_target_vers == "4.3"* && $device_target_tethered != 1 ]]; then
|
||||||
warn "This will be a semi-tethered jailbreak. checkm8-a5 is required to boot to a jailbroken state."
|
warn "This will be a semi-tethered jailbreak. checkm8-a5 is required to boot to a jailbroken state."
|
||||||
print "* To boot jailbroken later, go to: Other Utilities -> Just Boot"
|
print "* To boot jailbroken later, go to: Just Boot"
|
||||||
elif [[ $device_type == "iPhone3,3" ]]; then
|
elif [[ $device_type == "iPhone3,3" ]]; then
|
||||||
case $device_target_vers in
|
case $device_target_vers in
|
||||||
4.2.9 | 4.2.10 )
|
4.2.9 | 4.2.10 )
|
||||||
warn "This will be a semi-tethered jailbreak."
|
warn "This will be a semi-tethered jailbreak."
|
||||||
print "* To boot jailbroken later, go to: Other Utilities -> Just Boot"
|
print "* To boot jailbroken later, go to: Just Boot"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
@ -6083,7 +6116,7 @@ menu_ramdisk() {
|
|||||||
if [[ -s ../saved/TrollStore.tar && -s ../saved/PersistenceHelper_Embedded ]]; then
|
if [[ -s ../saved/TrollStore.tar && -s ../saved/PersistenceHelper_Embedded ]]; then
|
||||||
cp ../saved/TrollStore.tar ../saved/PersistenceHelper_Embedded .
|
cp ../saved/TrollStore.tar ../saved/PersistenceHelper_Embedded .
|
||||||
else
|
else
|
||||||
rm ../saved/TrollStore.tar ../saved/PersistenceHelper_Embedded 2>/dev/null
|
rm -f ../saved/TrollStore.tar ../saved/PersistenceHelper_Embedded
|
||||||
log "Downloading files for latest TrollStore"
|
log "Downloading files for latest TrollStore"
|
||||||
download_file https://github.com/opa334/TrollStore/releases/download/$latest/PersistenceHelper_Embedded PersistenceHelper_Embedded
|
download_file https://github.com/opa334/TrollStore/releases/download/$latest/PersistenceHelper_Embedded PersistenceHelper_Embedded
|
||||||
download_file https://github.com/opa334/TrollStore/releases/download/$latest/TrollStore.tar TrollStore.tar
|
download_file https://github.com/opa334/TrollStore/releases/download/$latest/TrollStore.tar TrollStore.tar
|
||||||
@ -6380,6 +6413,11 @@ menu_main() {
|
|||||||
menu_items+=("Restore/Downgrade")
|
menu_items+=("Restore/Downgrade")
|
||||||
if (( device_proc < 7 )); then
|
if (( device_proc < 7 )); then
|
||||||
menu_items+=("Jailbreak Device")
|
menu_items+=("Jailbreak Device")
|
||||||
|
if [[ $device_proc != 1 && $device_type != "iPod2,1" ]]; then
|
||||||
|
case $device_mode in
|
||||||
|
"Recovery" | "DFU" ) menu_items+=("Just Boot");;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ $device_unactivated == 1 ]]; then
|
if [[ $device_unactivated == 1 ]]; then
|
||||||
menu_items+=("Attempt Activation")
|
menu_items+=("Attempt Activation")
|
||||||
@ -6398,7 +6436,7 @@ menu_main() {
|
|||||||
[12].* ) :;;
|
[12].* ) :;;
|
||||||
[1289]* ) menu_items+=("Sideload IPA");;
|
[1289]* ) menu_items+=("Sideload IPA");;
|
||||||
esac
|
esac
|
||||||
menu_items+=("App Management" "Data Management")
|
menu_items+=("App Management" "Data Management" "Device Management")
|
||||||
fi
|
fi
|
||||||
menu_items+=("Other Utilities" "Exit")
|
menu_items+=("Other Utilities" "Exit")
|
||||||
select opt in "${menu_items[@]}"; do
|
select opt in "${menu_items[@]}"; do
|
||||||
@ -6407,15 +6445,17 @@ menu_main() {
|
|||||||
done
|
done
|
||||||
case $selected in
|
case $selected in
|
||||||
"Restore/Downgrade" ) menu_restore;;
|
"Restore/Downgrade" ) menu_restore;;
|
||||||
"Jailbreak Device" ) mode="device_jailbreak";;
|
"Jailbreak Device" ) device_jailbreak_confirm;;
|
||||||
"Save SHSH Blobs" ) menu_shsh;;
|
"Save SHSH Blobs" ) menu_shsh;;
|
||||||
"Sideload IPA" ) menu_ipa "$selected";;
|
"Sideload IPA" ) menu_ipa "$selected";;
|
||||||
"App Management" ) menu_appmanage;;
|
"App Management" ) menu_appmanage;;
|
||||||
"Data Management" ) menu_datamanage;;
|
"Data Management" ) menu_datamanage;;
|
||||||
|
"Device Management" ) menu_devicemanage;;
|
||||||
"Other Utilities" ) menu_other;;
|
"Other Utilities" ) menu_other;;
|
||||||
"FourThree Utility" ) menu_fourthree;;
|
"FourThree Utility" ) menu_fourthree;;
|
||||||
"Attempt Activation" ) device_activate;;
|
"Attempt Activation" ) device_activate;;
|
||||||
"Exit Recovery Mode" ) mode="exitrecovery";;
|
"Exit Recovery Mode" ) mode="exitrecovery";;
|
||||||
|
"Just Boot" ) menu_justboot;;
|
||||||
"Exit" ) mode="exit";;
|
"Exit" ) mode="exit";;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@ -6458,10 +6498,10 @@ menu_datamanage() {
|
|||||||
print "* Note 4: Backups do not include apps. Only some app data and settings"
|
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"
|
print "* For dumping apps, go to: https://www.reddit.com/r/LegacyJailbreak/wiki/guides/crackingapps"
|
||||||
if [[ -z $ifuse ]]; then
|
if [[ -z $ifuse ]]; then
|
||||||
warn "ifuse not installed. Mount Device will not work. Install ifuse in Homebrew/MacPorts or your package manager to fix this"
|
warn "ifuse not installed. Mount Device options will not work. Install ifuse in Homebrew/MacPorts or your package manager to fix this"
|
||||||
fi
|
fi
|
||||||
while [[ -z "$mode" && -z "$back" ]]; do
|
while [[ -z "$mode" && -z "$back" ]]; do
|
||||||
menu_items=("Backup" "Restore" "Mount Device" "Mount Device (Raw File System)" "Unmount Device" "Connect to SSH" "Erase All Content and Settings" "Go Back")
|
menu_items=("Backup" "Restore" "Mount Device" "Mount Device (Raw File System)" "Unmount Device" "Connect to SSH" "Cydia App Install" "Erase All Content and Settings" "Go Back")
|
||||||
echo
|
echo
|
||||||
print " > Main Menu > Data Management"
|
print " > Main Menu > Data Management"
|
||||||
input "Select an option:"
|
input "Select an option:"
|
||||||
@ -6482,6 +6522,16 @@ menu_datamanage() {
|
|||||||
"Mount Device (Raw File System)" ) mkdir ../mount 2>/dev/null; $ifuse --root ../mount; log "Device (root) should now be mounted on mount folder";;
|
"Mount Device (Raw File System)" ) mkdir ../mount 2>/dev/null; $ifuse --root ../mount; log "Device (root) should now be mounted on mount folder";;
|
||||||
"Unmount Device" ) log "Attempting to umount device from mount folder"; umount ../mount;;
|
"Unmount Device" ) log "Attempting to umount device from mount folder"; umount ../mount;;
|
||||||
"Connect to SSH" ) mode="device_ssh";;
|
"Connect to SSH" ) mode="device_ssh";;
|
||||||
|
"Cydia App Install" )
|
||||||
|
echo
|
||||||
|
print "* Cydia App Install: You need to have working AFC2 or SSH for transferring the .deb files to your device."
|
||||||
|
print "* This must be done manually. Place the .deb files you want to install to this path:"
|
||||||
|
print " > /var/root/Media/Cydia/AutoInstall"
|
||||||
|
print "* Using the \"Mount Device (Raw File System)\" or \"Connect to SSH\" options."
|
||||||
|
print "* Create the folders as needed if they do not exist."
|
||||||
|
print "* Reboot your device after transferring the .deb files to start the installation."
|
||||||
|
echo
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@ -6537,7 +6587,7 @@ menu_fourthree() {
|
|||||||
menu_print_info
|
menu_print_info
|
||||||
print "* FourThree Utility: Dualboot iPad 2 to iOS 4.3.x"
|
print "* FourThree Utility: Dualboot iPad 2 to iOS 4.3.x"
|
||||||
print "* This is a 3 step process for the device. Follow through the steps to successfully set up a dualboot."
|
print "* This is a 3 step process for the device. Follow through the steps to successfully set up a dualboot."
|
||||||
print "* Read the README here: https://github.com/LukeZGD/FourThree-iPad2"
|
print "* Please read the README here: https://github.com/LukeZGD/FourThree-iPad2"
|
||||||
if [[ $device_type != "iPad2,1" ]]; then
|
if [[ $device_type != "iPad2,1" ]]; then
|
||||||
warn "FourThree is known to have issues with cellular iPad 2 devices."
|
warn "FourThree is known to have issues with cellular iPad 2 devices."
|
||||||
fi
|
fi
|
||||||
@ -8039,21 +8089,42 @@ menu_flags() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
menu_power() {
|
menu_devicemanage() {
|
||||||
local menu_items
|
local menu_items
|
||||||
local selected
|
local selected
|
||||||
local back
|
local back
|
||||||
|
|
||||||
|
menu_print_info
|
||||||
while [[ -z "$mode" && -z "$back" ]]; do
|
while [[ -z "$mode" && -z "$back" ]]; do
|
||||||
menu_items=("Shutdown Device" "Restart Device" "Enter Recovery Mode" "Go Back")
|
menu_items=("Export Device Info" "Export Battery Info" "Pair Device" "Shutdown Device" "Restart Device" "Enter Recovery Mode" "Go Back")
|
||||||
menu_print_info
|
print " > Main Menu > Device Management"
|
||||||
print " > Main Menu > Other Utilities > Power Options"
|
|
||||||
input "Select an option:"
|
input "Select an option:"
|
||||||
select opt in "${menu_items[@]}"; do
|
select opt in "${menu_items[@]}"; do
|
||||||
selected="$opt"
|
selected="$opt"
|
||||||
break
|
break
|
||||||
done
|
done
|
||||||
case $selected in
|
case $selected in
|
||||||
|
"Export Device Info" )
|
||||||
|
mkdir -p ../saved/info 2>/dev/null
|
||||||
|
log "Running ideviceinfo"
|
||||||
|
local info="../saved/info/device-$device_ecid-$device_type-$(date +%Y-%m-%d-%H%M).txt"
|
||||||
|
$ideviceinfo > $info
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
$ideviceinfo -s > $info
|
||||||
|
fi
|
||||||
|
log "Device Info exported to: $info"
|
||||||
|
;;
|
||||||
|
"Export Battery Info" )
|
||||||
|
mkdir -p ../saved/info 2>/dev/null
|
||||||
|
log "Running idevicediagnostics"
|
||||||
|
local info="../saved/info/battery-$device_ecid-$device_type-$(date +%Y-%m-%d-%H%M).txt"
|
||||||
|
$idevicediagnostics ioregentry AppleSmartBattery > $info
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
$idevicediagnostics ioregentry AppleARMPMUCharger > $info
|
||||||
|
fi
|
||||||
|
log "Battery Info exported to: $info"
|
||||||
|
;;
|
||||||
|
"Pair Device" ) device_pair;;
|
||||||
"Shutdown Device" ) mode="shutdown";;
|
"Shutdown Device" ) mode="shutdown";;
|
||||||
"Restart Device" ) mode="restart";;
|
"Restart Device" ) mode="restart";;
|
||||||
"Enter Recovery Mode" ) mode="enterrecovery";;
|
"Enter Recovery Mode" ) mode="enterrecovery";;
|
||||||
@ -8070,14 +8141,9 @@ menu_other() {
|
|||||||
while [[ -z "$mode" && -z "$back" ]]; do
|
while [[ -z "$mode" && -z "$back" ]]; do
|
||||||
menu_items=()
|
menu_items=()
|
||||||
if [[ $device_mode != "none" && $device_proc != 1 ]] && (( device_proc < 7 )); then
|
if [[ $device_mode != "none" && $device_proc != 1 ]] && (( device_proc < 7 )); then
|
||||||
case $device_mode in
|
if [[ $device_mode == "Normal" ]]; then
|
||||||
"Normal" ) menu_items+=("Enter kDFU Mode");;
|
menu_items+=("Enter kDFU Mode")
|
||||||
* )
|
fi
|
||||||
if [[ $device_type != "iPod2,1" ]]; then
|
|
||||||
menu_items+=("Just Boot")
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
case $device_proc in
|
case $device_proc in
|
||||||
[56] ) menu_items+=("Send Pwned iBSS");;
|
[56] ) menu_items+=("Send Pwned iBSS");;
|
||||||
* ) menu_items+=("Enter pwnDFU Mode");;
|
* ) menu_items+=("Enter pwnDFU Mode");;
|
||||||
@ -8087,7 +8153,20 @@ menu_other() {
|
|||||||
iPhone3,[13] | iPhone[45]* | iPad1,1 | iPad2,4 | iPod[35],1 ) menu_items+=("Disable/Enable Exploit");;
|
iPhone3,[13] | iPhone[45]* | iPad1,1 | iPad2,4 | iPod[35],1 ) menu_items+=("Disable/Enable Exploit");;
|
||||||
iPhone2,1 ) menu_items+=("Install alloc8 Exploit");;
|
iPhone2,1 ) menu_items+=("Install alloc8 Exploit");;
|
||||||
esac
|
esac
|
||||||
if [[ $device_mode != "Normal" ]]; then
|
if [[ $device_mode == "Normal" ]]; then
|
||||||
|
case $device_type in
|
||||||
|
iPhone1* )
|
||||||
|
case $device_vers in
|
||||||
|
3.1.3 | 4.[12]* ) menu_items+=("Hacktivate Device" "Revert Hacktivation");;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
iPhone[23],1 )
|
||||||
|
case $device_vers in
|
||||||
|
3.1* | [456]* ) menu_items+=("Hacktivate Device" "Revert Hacktivation");;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
menu_items+=("Get iOS Version")
|
menu_items+=("Get iOS Version")
|
||||||
fi
|
fi
|
||||||
case $device_type in
|
case $device_type in
|
||||||
@ -8102,30 +8181,9 @@ menu_other() {
|
|||||||
if (( device_proc <= 10 )) && [[ $device_latest_vers != "16"* && $device_checkm8ipad != 1 && $device_proc != 1 ]]; then
|
if (( device_proc <= 10 )) && [[ $device_latest_vers != "16"* && $device_checkm8ipad != 1 && $device_proc != 1 ]]; then
|
||||||
menu_items+=("SSH Ramdisk")
|
menu_items+=("SSH Ramdisk")
|
||||||
fi
|
fi
|
||||||
case $device_mode in
|
if [[ $device_mode == "Normal" ]]; then
|
||||||
"Normal" )
|
menu_items+=("Attempt Activation")
|
||||||
menu_items+=("Attempt Activation")
|
fi
|
||||||
case $device_vers in
|
|
||||||
3.1* | [456]* )
|
|
||||||
case $device_type in
|
|
||||||
iPhone1* )
|
|
||||||
case $device_vers in
|
|
||||||
3.1.3 | 4.[12]* ) menu_items+=("Hacktivate Device" "Revert Hacktivation");;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
iPhone[23],1 ) menu_items+=("Hacktivate Device" "Revert Hacktivation");;
|
|
||||||
iPad2* )
|
|
||||||
case $device_vers in
|
|
||||||
4.3* ) menu_items+=("Hacktivate Device" "Revert Hacktivation");;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
menu_items+=("Pair Device" "Power Options")
|
|
||||||
;;
|
|
||||||
"Recovery" ) menu_items+=("Exit Recovery Mode");;
|
|
||||||
esac
|
|
||||||
if [[ $device_mode != "DFU" ]]; then
|
if [[ $device_mode != "DFU" ]]; then
|
||||||
menu_items+=("DFU Mode Helper")
|
menu_items+=("DFU Mode Helper")
|
||||||
fi
|
fi
|
||||||
@ -8160,10 +8218,7 @@ menu_other() {
|
|||||||
"Activation Records" ) mode="actrec";;
|
"Activation Records" ) mode="actrec";;
|
||||||
"Exit Recovery Mode" ) mode="exitrecovery";;
|
"Exit Recovery Mode" ) mode="exitrecovery";;
|
||||||
"DFU Mode Helper" ) mode="enterdfu";;
|
"DFU Mode Helper" ) mode="enterdfu";;
|
||||||
"Just Boot" ) menu_justboot;;
|
|
||||||
"Get iOS Version" ) mode="getversion";;
|
"Get iOS Version" ) mode="getversion";;
|
||||||
"Pair Device" ) device_pair;;
|
|
||||||
"Power Options" ) menu_power;;
|
|
||||||
"Enable Flags" ) menu_flags;;
|
"Enable Flags" ) menu_flags;;
|
||||||
"Go Back" ) back=1;;
|
"Go Back" ) back=1;;
|
||||||
esac
|
esac
|
||||||
@ -8174,7 +8229,7 @@ device_pair() {
|
|||||||
log "Attempting idevicepair"
|
log "Attempting idevicepair"
|
||||||
"$dir/idevicepair" pair
|
"$dir/idevicepair" pair
|
||||||
if [[ $? != 0 ]]; then
|
if [[ $? != 0 ]]; then
|
||||||
log "Press \"Trust\" on the device before pressing Enter/Return."
|
log "Unlock and press \"Trust\" on the device before pressing Enter/Return."
|
||||||
pause
|
pause
|
||||||
log "Attempting idevicepair"
|
log "Attempting idevicepair"
|
||||||
fi
|
fi
|
||||||
@ -8190,13 +8245,8 @@ device_ssh() {
|
|||||||
device_sshpass
|
device_sshpass
|
||||||
log "Connecting to device SSH..."
|
log "Connecting to device SSH..."
|
||||||
print "* For accessing data, note the following:"
|
print "* For accessing data, note the following:"
|
||||||
print "* Host: sftp://127.0.0.1 | User: root | Password: <your password> (default is alpine) | Port: $ssh_port"
|
print "* Host: sftp://127.0.0.1 | User: $ssh_user | Password: <your password> (default is alpine) | Port: $ssh_port"
|
||||||
$ssh -p $ssh_port root@127.0.0.1
|
$ssh -p $ssh_port ${ssh_user}@127.0.0.1
|
||||||
if [[ $? != 0 ]]; then
|
|
||||||
log "Failed to connect to SSH as root. Connecting to device SSH as mobile..."
|
|
||||||
print "* Host: sftp://127.0.0.1 | User: mobile | Password: <your password> | Port: $ssh_port"
|
|
||||||
$ssh -p $ssh_port mobile@127.0.0.1
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
device_alloc8() {
|
device_alloc8() {
|
||||||
@ -8209,10 +8259,11 @@ device_alloc8() {
|
|||||||
print "* To retry, just go back to: Other Utilities -> Install alloc8 Exploit"
|
print "* To retry, just go back to: Other Utilities -> Install alloc8 Exploit"
|
||||||
}
|
}
|
||||||
|
|
||||||
device_jailbreak() {
|
device_jailbreak_confirm() {
|
||||||
if [[ $device_proc == 1 ]]; then
|
if [[ $device_proc == 1 ]]; then
|
||||||
print "* The \"Jailbreak Device\" option is not supported for this device."
|
print "* The \"Jailbreak Device\" option is not supported for this device."
|
||||||
print "* To jailbreak, go to \"Restore/Downgrade\" instead, select 4.1 or 3.1.3, then enable the jailbreak option."
|
print "* To jailbreak, go to \"Restore/Downgrade\" instead, select 4.1 or 3.1.3, then enable the jailbreak option."
|
||||||
|
pause
|
||||||
return
|
return
|
||||||
elif [[ $device_vers == *"iBoot"* || $device_vers == "Unknown"* ]]; then
|
elif [[ $device_vers == *"iBoot"* || $device_vers == "Unknown"* ]]; then
|
||||||
device_vers=
|
device_vers=
|
||||||
@ -8228,14 +8279,11 @@ device_jailbreak() {
|
|||||||
if [[ $device_proc == 4 ]]; then
|
if [[ $device_proc == 4 ]]; then
|
||||||
print "* Note: If the process fails somewhere, you can just enter DFU mode and attempt jailbreaking again from there."
|
print "* Note: If the process fails somewhere, you can just enter DFU mode and attempt jailbreaking again from there."
|
||||||
fi
|
fi
|
||||||
pause
|
read -p "$(input "Select Y to continue, N to go back (y/N) ")" opt
|
||||||
pushd ../resources/jailbreak/g1lbertJB >/dev/null
|
if [[ $opt != 'Y' && $opt != 'y' ]]; then
|
||||||
log "Copying freeze.tar to Cydia.tar"
|
return
|
||||||
cp ../freeze.tar payload/common/Cydia.tar
|
fi
|
||||||
log "Running g1lbertJB..."
|
mode="device_jailbreak_gilbert"
|
||||||
"../../$dir/gilbertjb"
|
|
||||||
rm payload/common/Cydia.tar
|
|
||||||
popd >/dev/null
|
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -8243,13 +8291,13 @@ device_jailbreak() {
|
|||||||
log "Checking if your device and version is supported..."
|
log "Checking if your device and version is supported..."
|
||||||
if [[ $device_type == "iPad2"* && $device_vers == "4"* ]]; then
|
if [[ $device_type == "iPad2"* && $device_vers == "4"* ]]; then
|
||||||
warn "This will be a semi-tethered jailbreak. checkm8-a5 is required to boot to a jailbroken state."
|
warn "This will be a semi-tethered jailbreak. checkm8-a5 is required to boot to a jailbroken state."
|
||||||
print "* To boot jailbroken later, go to: Other Utilities -> Just Boot"
|
print "* To boot jailbroken later, go to: Just Boot"
|
||||||
pause
|
pause
|
||||||
elif [[ $device_type == "iPhone3,3" ]]; then
|
elif [[ $device_type == "iPhone3,3" ]]; then
|
||||||
case $device_vers in
|
case $device_vers in
|
||||||
4.2.9 | 4.2.10 )
|
4.2.9 | 4.2.10 )
|
||||||
warn "This will be a semi-tethered jailbreak."
|
warn "This will be a semi-tethered jailbreak."
|
||||||
print "* To boot jailbroken later, go to: Other Utilities -> Just Boot"
|
print "* To boot jailbroken later, go to: Just Boot"
|
||||||
pause
|
pause
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -8287,22 +8335,26 @@ device_jailbreak() {
|
|||||||
print "* Supported iOS 8 versions for A5(X) are 8.3 to 8.4.1 only for now."
|
print "* Supported iOS 8 versions for A5(X) are 8.3 to 8.4.1 only for now."
|
||||||
print "* For this version, use Home Depot patched with ohd and sideload it to your device."
|
print "* For this version, use Home Depot patched with ohd and sideload it to your device."
|
||||||
print "* https://github.com/LukeZGD/ohd"
|
print "* https://github.com/LukeZGD/ohd"
|
||||||
|
pause
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
9.0* )
|
9.0* )
|
||||||
print "* For this version, use Pangu9 on older macOS to jailbreak your device."
|
print "* For this version, use Pangu9 on older macOS to jailbreak your device."
|
||||||
print "* https://ios.cfw.guide/installing-pangu9/"
|
print "* https://ios.cfw.guide/installing-pangu9/"
|
||||||
|
pause
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
9.3.[56] )
|
9.3.[56] )
|
||||||
print "* For this version, download kok3shi9 and sideload it to your device."
|
print "* For this version, download kok3shi9 and sideload it to your device."
|
||||||
print "* https://kok3shidoll.web.app/kok3shi9_32.html"
|
print "* https://kok3shidoll.web.app/kok3shi9_32.html"
|
||||||
|
pause
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
10* )
|
10* )
|
||||||
print "* For this version, download socket and sideload it to your device."
|
print "* For this version, download socket and sideload it to your device."
|
||||||
print "* https://github.com/staturnzz/socket"
|
print "* https://github.com/staturnzz/socket"
|
||||||
|
pause
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
9.3.[1234] | 9.3 | 9.2* | 9.1 | [8765]* | 4.3* | 4.2.[8761] | 4.[10]* | 3.2* | 3.1.3 ) :;;
|
9.3.[1234] | 9.3 | 9.2* | 9.1 | [8765]* | 4.3* | 4.2.[8761] | 4.[10]* | 3.2* | 3.1.3 ) :;;
|
||||||
@ -8310,12 +8362,14 @@ device_jailbreak() {
|
|||||||
if [[ $device_type != "iPhone2,1" ]]; then
|
if [[ $device_type != "iPhone2,1" ]]; then
|
||||||
warn "This version ($device_vers) is not supported for jailbreaking with SSHRD."
|
warn "This version ($device_vers) is not supported for jailbreaking with SSHRD."
|
||||||
print "* Supported versions are: 3.1.3 to 9.3.4 (excluding 9.0.x)"
|
print "* Supported versions are: 3.1.3 to 9.3.4 (excluding 9.0.x)"
|
||||||
|
pause
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
warn "This version ($device_vers) is not supported for jailbreaking with SSHRD."
|
warn "This version ($device_vers) is not supported for jailbreaking with SSHRD."
|
||||||
print "* Supported versions are: 3.1.3 to 9.3.4 (excluding 9.0.x)"
|
print "* Supported versions are: 3.1.3 to 9.3.4 (excluding 9.0.x)"
|
||||||
|
pause
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -8332,10 +8386,27 @@ device_jailbreak() {
|
|||||||
print "* By selecting Jailbreak Device, your device will be jailbroken using Ramdisk Method."
|
print "* By selecting Jailbreak Device, your device will be jailbroken using Ramdisk Method."
|
||||||
print "* Before continuing, make sure that your device does not have a jailbreak yet."
|
print "* Before continuing, make sure that your device does not have a jailbreak yet."
|
||||||
print "* No data will be lost, but please back up your data just in case."
|
print "* No data will be lost, but please back up your data just in case."
|
||||||
pause
|
read -p "$(input "Select Y to continue, N to go back (y/N) ")" opt
|
||||||
|
if [[ $opt != 'Y' && $opt != 'y' ]]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
mode="device_jailbreak"
|
||||||
|
}
|
||||||
|
|
||||||
|
device_jailbreak() {
|
||||||
device_ramdisk jailbreak
|
device_ramdisk jailbreak
|
||||||
}
|
}
|
||||||
|
|
||||||
|
device_jailbreak_gilbert() {
|
||||||
|
pushd ../resources/jailbreak/g1lbertJB >/dev/null
|
||||||
|
log "Copying freeze.tar to Cydia.tar"
|
||||||
|
cp ../freeze.tar payload/common/Cydia.tar
|
||||||
|
log "Running g1lbertJB..."
|
||||||
|
"../../$dir/gilbertjb"
|
||||||
|
rm payload/common/Cydia.tar
|
||||||
|
popd >/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
device_ssh_message() {
|
device_ssh_message() {
|
||||||
print "* Make sure to have OpenSSH installed on your iOS device."
|
print "* Make sure to have OpenSSH installed on your iOS device."
|
||||||
if [[ $device_det == 1 ]] && (( device_proc < 7 )); then
|
if [[ $device_det == 1 ]] && (( device_proc < 7 )); then
|
||||||
@ -8782,7 +8853,6 @@ menu_justboot() {
|
|||||||
vers="$device_target_build"
|
vers="$device_target_build"
|
||||||
;;
|
;;
|
||||||
"Custom Bootargs" ) read -p "$(input 'Enter custom bootargs: ')" device_justboot_bootargs;;
|
"Custom Bootargs" ) read -p "$(input 'Enter custom bootargs: ')" device_justboot_bootargs;;
|
||||||
"Just Boot" ) mode="device_justboot";;
|
|
||||||
"Go Back" ) back=1;;
|
"Go Back" ) back=1;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@ -9012,7 +9082,7 @@ device_fourthree_app() {
|
|||||||
device_fourthree_check
|
device_fourthree_check
|
||||||
log "Installing FourThree app"
|
log "Installing FourThree app"
|
||||||
$scp -P $ssh_port $jelbrek/fourthree.tar root@127.0.0.1:/tmp
|
$scp -P $ssh_port $jelbrek/fourthree.tar root@127.0.0.1:/tmp
|
||||||
$ssh -p $ssh_port root@127.0.0.1 "tar -xvf /tmp/fourthree.tar -C /; cd /Applications/FourThree.app; chmod 6755 FourThree boot.sh /usr/bin/runasroot"
|
$ssh -p $ssh_port root@127.0.0.1 "tar -h -xvf /tmp/fourthree.tar -C /; cd /Applications/FourThree.app; chmod 6755 boot.sh FourThree kloader_ios5 /usr/bin/runasroot"
|
||||||
log "Running uicache"
|
log "Running uicache"
|
||||||
$ssh -p $ssh_port mobile@127.0.0.1 "uicache"
|
$ssh -p $ssh_port mobile@127.0.0.1 "uicache"
|
||||||
}
|
}
|
||||||
@ -9039,7 +9109,7 @@ device_fourthree_check() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
log "Checking if Step 2 is complete"
|
log "Checking if Step 2 is complete"
|
||||||
check="$($ssh -p $ssh_port root@127.0.0.1 "ls /dev/disk0s3")"
|
check="$($ssh -p $ssh_port root@127.0.0.1 "ls /dev/disk0s3 2>/dev/null")"
|
||||||
if [[ $check != "/dev/disk0s3" ]]; then
|
if [[ $check != "/dev/disk0s3" ]]; then
|
||||||
if [[ $opt == 2 ]]; then
|
if [[ $opt == 2 ]]; then
|
||||||
return 1
|
return 1
|
||||||
@ -9066,9 +9136,9 @@ device_fourthree_check() {
|
|||||||
|
|
||||||
device_backup_create() {
|
device_backup_create() {
|
||||||
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
|
|
||||||
print "* A backup of your device will be created using idevicebackup2. Please see the notes above."
|
print "* A backup of your device will be created using idevicebackup2. Please see the notes above."
|
||||||
pause
|
pause
|
||||||
|
mkdir -p $device_backup
|
||||||
pushd "$(dirname $device_backup)"
|
pushd "$(dirname $device_backup)"
|
||||||
dir="../../$dir"
|
dir="../../$dir"
|
||||||
if [[ -n $dir_env ]]; then
|
if [[ -n $dir_env ]]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user