Some fixes

This commit is contained in:
LukeZGD 2023-08-13 08:29:44 +08:00
parent 1a0e555215
commit 8a391acd54
41 changed files with 70 additions and 30 deletions

View File

@ -138,6 +138,7 @@
- iPad 2 iOS 4.3.x bundles from [selfisht, Ralph0045](https://www.reddit.com/r/LegacyJailbreak/comments/1172ulo/release_ios_4_ipad_2_odysseus_firmware_bundles/) - iPad 2 iOS 4.3.x bundles from [selfisht, Ralph0045](https://www.reddit.com/r/LegacyJailbreak/comments/1172ulo/release_ios_4_ipad_2_odysseus_firmware_bundles/)
- [sshpass](https://sourceforge.net/project/sshpass) - [sshpass](https://sourceforge.net/project/sshpass)
- Bootstrap tar from [SpiritNET](https://invoxiplaygames.uk/projects/spiritnet/) - Bootstrap tar from [SpiritNET](https://invoxiplaygames.uk/projects/spiritnet/)
- [Cydia HTTPatch](https://cydia.invoxiplaygames.uk/package/cydiahttpatch) for 3.1.3 downgrades/jailbreaks
- [Pangu](https://www.theiphonewiki.com/wiki/Pangu) - [Pangu](https://www.theiphonewiki.com/wiki/Pangu)
- [p0sixspwn](https://www.theiphonewiki.com/wiki/p0sixspwn) - [p0sixspwn](https://www.theiphonewiki.com/wiki/p0sixspwn)
- [unthredeh4il](https://www.theiphonewiki.com/wiki/Unthredera1n#unthredeh4il) - [unthredeh4il](https://www.theiphonewiki.com/wiki/Unthredera1n#unthredeh4il)
@ -145,5 +146,5 @@
- [pris0nbarake](https://github.com/LukeZGD/pris0nbarake) - LukeZGD fork - [pris0nbarake](https://github.com/LukeZGD/pris0nbarake) - LukeZGD fork
- [Corona](https://www.theiphonewiki.com/wiki/Corona) and [Rocky Racoon](https://www.theiphonewiki.com/wiki/Rocky_Racoon) - [Corona](https://www.theiphonewiki.com/wiki/Corona) and [Rocky Racoon](https://www.theiphonewiki.com/wiki/Rocky_Racoon)
- [greenpois0n](https://github.com/OpenJailbreak/greenpois0n/tree/0f1eac8e748abb200fc36969e616aaad009f7ebf) - [greenpois0n](https://github.com/OpenJailbreak/greenpois0n/tree/0f1eac8e748abb200fc36969e616aaad009f7ebf)
- Some patches from [PwnageTool](https://www.theiphonewiki.com/wiki/PwnageTool) and [sn0wbreeze](https://www.theiphonewiki.com/wiki/sn0wbreeze) - Some patches from [PwnageTool](https://www.theiphonewiki.com/wiki/PwnageTool), [sn0wbreeze](https://www.theiphonewiki.com/wiki/sn0wbreeze), [redsn0w](https://www.theiphonewiki.com/wiki/redsn0w)
- SSH Ramdisk tar from [SSH-Ramdisk-Maker-and-Loader](https://github.com/Ralph0045/SSH-Ramdisk-Maker-and-Loader) and [msftguy's ssh-rd](https://github.com/msftguy/ssh-rd) - SSH Ramdisk tar from [SSH-Ramdisk-Maker-and-Loader](https://github.com/Ralph0045/SSH-Ramdisk-Maker-and-Loader) and [msftguy's ssh-rd](https://github.com/msftguy/ssh-rd)

Binary file not shown.

Binary file not shown.

View File

@ -808,10 +808,14 @@ device_enter_mode() {
sleep 2 sleep 2
log "Please read the message below:" log "Please read the message below:"
print "1. Make sure to have installed the requirements from Cydia." print "1. Make sure to have OpenSSH installed on your iOS device."
print " - Only proceed if you have followed the steps in the GitHub wiki." if [[ $device_det == 1 ]]; then
print " - Make sure to also have Dropbear installed from my repo."
print " - Repo: https://lukezgd.github.io/repo"
fi
print " - Only proceed if you have these requirements installed using Cydia/Zebra."
print " - You will be prompted to enter the root password of your iOS device." print " - You will be prompted to enter the root password of your iOS device."
print " - The default root password is \"alpine\"" print " - The default root password is: alpine"
print " - Do not worry that your input is not visible, it is still being entered." print " - Do not worry that your input is not visible, it is still being entered."
print "2. Afterwards, the device will disconnect and its screen will stay black." print "2. Afterwards, the device will disconnect and its screen will stay black."
print " - Proceed to either press the TOP/HOME button, or unplug and replug the device." print " - Proceed to either press the TOP/HOME button, or unplug and replug the device."
@ -967,10 +971,10 @@ device_enter_mode() {
print "* Select tool to be used for entering pwned DFU mode." print "* Select tool to be used for entering pwned DFU mode."
local selection=() local selection=()
if [[ $platform == "macos" ]]; then if [[ $platform == "macos" ]]; then
print "* This option is set to ipwnder32 by default (1)." print "* This option is set to ipwnder32 by default (1). Select this option if unsure."
selection+=("ipwnder32" "ipwnder") selection+=("ipwnder32" "ipwnder")
elif [[ $device_proc == 7 ]]; then elif [[ $device_proc == 7 ]]; then
print "* This option is set to gaster by default (1)." print "* This option is set to gaster by default (1). Select this option if unsure."
fi fi
if [[ $device_proc == 7 ]]; then if [[ $device_proc == 7 ]]; then
selection+=("gaster") selection+=("gaster")
@ -1304,15 +1308,14 @@ ipsw_preference_set() {
return return
fi fi
if [[ $device_target_vers == "3.1.3" || $device_target_vers == "4.0" ]] || if [[ $device_target_vers == "3.1"* || $device_target_vers == "4.0" ]]; then
[[ $device_target_vers == "4.3.3" && $device_type == "iPhone2,1" ]]; then
#log "Jailbreak Option is always enabled for $device_target_vers" #log "Jailbreak Option is always enabled for $device_target_vers"
ipsw_jailbreak=1 ipsw_jailbreak=1
elif [[ $device_target_other != 1 || $ipsw_canjailbreak == 1 ]] && [[ -z $ipsw_jailbreak ]]; then elif [[ $device_target_other != 1 || $ipsw_canjailbreak == 1 ]] && [[ -z $ipsw_jailbreak ]]; then
input "Jailbreak Option" input "Jailbreak Option"
print "* When this option is enabled, your device will be jailbroken on restore." print "* When this option is enabled, your device will be jailbroken on restore."
print "* I recommend to enable this option to have the jailbreak and Cydia pre-installed." print "* I recommend to enable this option to have the jailbreak and Cydia pre-installed."
print "* This option is enabled by default (Y)." print "* This option is enabled by default (Y). Select this option if unsure."
read -p "$(input 'Enable this option? (Y/n): ')" ipsw_jailbreak read -p "$(input 'Enable this option? (Y/n): ')" ipsw_jailbreak
if [[ $ipsw_jailbreak == 'N' || $ipsw_jailbreak == 'n' ]]; then if [[ $ipsw_jailbreak == 'N' || $ipsw_jailbreak == 'n' ]]; then
ipsw_jailbreak= ipsw_jailbreak=
@ -1337,7 +1340,7 @@ ipsw_preference_set() {
print "* When this option is enabled, system RAM will be used for the IPSW creation process." print "* When this option is enabled, system RAM will be used for the IPSW creation process."
print "* I recommend to enable this option to speed up creating the custom IPSW." print "* I recommend to enable this option to speed up creating the custom IPSW."
print "* However, if you have less than 8 GB of RAM, disable this option." print "* However, if you have less than 8 GB of RAM, disable this option."
print "* This option is enabled by default (Y)." print "* This option is enabled by default (Y). Select this option if unsure."
read -p "$(input 'Enable this option? (Y/n): ')" ipsw_memory read -p "$(input 'Enable this option? (Y/n): ')" ipsw_memory
if [[ $ipsw_memory == 'N' || $ipsw_memory == 'n' ]]; then if [[ $ipsw_memory == 'N' || $ipsw_memory == 'n' ]]; then
log "Memory option disabled by user." log "Memory option disabled by user."
@ -1352,7 +1355,7 @@ ipsw_preference_set() {
if [[ $device_target_powder == 1 && -z $ipsw_verbose ]]; then if [[ $device_target_powder == 1 && -z $ipsw_verbose ]]; then
input "Verbose Boot Option" input "Verbose Boot Option"
print "* When this option is enabled, the device will have verbose boot on restore." print "* When this option is enabled, the device will have verbose boot on restore."
print "* This option is enabled by default (Y)." print "* This option is enabled by default (Y). Select this option if unsure."
read -p "$(input 'Enable this option? (Y/n): ')" ipsw_verbose read -p "$(input 'Enable this option? (Y/n): ')" ipsw_verbose
if [[ $ipsw_verbose == 'N' || $ipsw_verbose == 'n' ]]; then if [[ $ipsw_verbose == 'N' || $ipsw_verbose == 'n' ]]; then
ipsw_verbose= ipsw_verbose=
@ -1916,6 +1919,9 @@ ipsw_prepare_32bit() {
fi fi
;; ;;
esac esac
if [[ $device_target_vers == "5"* ]]; then
JBFiles+=("$jelbrek/cydiasubstrate.tar")
fi
if [[ $ipsw_openssh == 1 ]]; then if [[ $ipsw_openssh == 1 ]]; then
JBFiles+=("$jelbrek/sshdeb.tar") JBFiles+=("$jelbrek/sshdeb.tar")
fi fi
@ -1957,6 +1963,7 @@ ipsw_prepare_powder() {
5.1.1 ) JBFiles+=("$jelbrek/rockyracoon.tar");; 5.1.1 ) JBFiles+=("$jelbrek/rockyracoon.tar");;
5.0.1 ) JBFiles+=("$jelbrek/corona.tar");; 5.0.1 ) JBFiles+=("$jelbrek/corona.tar");;
esac esac
JBFiles+=("$jelbrek/cydiasubstrate.tar")
fi fi
if [[ $ipsw_openssh == 1 ]]; then if [[ $ipsw_openssh == 1 ]]; then
JBFiles+=("$jelbrek/sshdeb.tar") JBFiles+=("$jelbrek/sshdeb.tar")
@ -2064,6 +2071,9 @@ ipsw_prepare_powder2() {
fi fi
if [[ $ipsw_jailbreak == 1 ]]; then if [[ $ipsw_jailbreak == 1 ]]; then
cp $jelbrek/freeze.tar . cp $jelbrek/freeze.tar .
if [[ $device_target_vers == "5"* ]]; then
ExtraArgs+=" $jelbrek/cydiasubstrate.tar"
fi
if [[ $ipsw_openssh == 1 ]]; then if [[ $ipsw_openssh == 1 ]]; then
ExtraArgs+=" $jelbrek/sshdeb.tar" ExtraArgs+=" $jelbrek/sshdeb.tar"
fi fi
@ -2098,10 +2108,10 @@ ipsw_prepare_custom() {
return return
fi fi
if [[ $device_target_vers == "5"* ]]; then if [[ $device_target_vers == "5"* || $device_target_vers == "6"* ]]; then
comps+=("iBEC") comps+=("iBEC")
fi fi
if [[ $device_type == "iPod2,1" && $device_target_vers == "3.1.3" ]]; then if [[ $device_type == "iPod2,1" && $device_target_vers == "3.1"* ]]; then
: :
else else
case $device_target_vers in case $device_target_vers in
@ -2179,11 +2189,17 @@ ipsw_prepare_custom() {
if [[ $ipsw_jailbreak == 1 ]]; then if [[ $ipsw_jailbreak == 1 ]]; then
log "Extracting Cydia" log "Extracting Cydia"
"$dir/hfsplus" out.dmg untar $jelbrek/freeze.tar "$dir/hfsplus" out.dmg untar $jelbrek/freeze.tar
log "Extracting untether"
case $device_target_vers in case $device_target_vers in
"5.1.1" ) "$dir/hfsplus" out.dmg untar $jelbrek/rockyracoon.tar;; "5.1.1" ) "$dir/hfsplus" out.dmg untar $jelbrek/rockyracoon.tar;;
"3"* | "4.0"* | "4.3.3" ) "$dir/hfsplus" out.dmg add $jelbrek/fstab_old private/etc/fstab;; "5.0.1" ) "$dir/hfsplus" out.dmg untar $jelbrek/corona.tar;;
"4.2.1" | "4.1" ) "3.1"* | "4"* )
"$dir/hfsplus" out.dmg rm private/etc/fstab
"$dir/hfsplus" out.dmg add $jelbrek/fstab_old private/etc/fstab "$dir/hfsplus" out.dmg add $jelbrek/fstab_old private/etc/fstab
;;
esac
case $device_target_vers in
"4.2.1" | "4.1" )
if [[ $device_target_vers == "4.2.1" ]]; then if [[ $device_target_vers == "4.2.1" ]]; then
"$dir/hfsplus" out.dmg mv sbin/launchd sbin/punchd "$dir/hfsplus" out.dmg mv sbin/launchd sbin/punchd
fi fi
@ -2191,9 +2207,13 @@ ipsw_prepare_custom() {
;; ;;
* ) "$dir/hfsplus" out.dmg untar $jelbrek/unthredeh4il.tar;; * ) "$dir/hfsplus" out.dmg untar $jelbrek/unthredeh4il.tar;;
esac esac
if [[ $device_type == "iPod2,1" && $device_target_vers == "3.1.3" ]]; then if [[ $device_type == "iPod2,1" && $device_target_vers == "3.1"* ]]; then
"$dir/hfsplus" out.dmg untar $jelbrek/greenpois0n/${device_type}_${device_target_build}.tar "$dir/hfsplus" out.dmg untar $jelbrek/greenpois0n/${device_type}_${device_target_build}.tar
fi fi
"$dir/hfsplus" out.dmg untar $jelbrek/cydiasubstrate.tar
if [[ $device_target_vers == "3.1"* ]]; then
"$dir/hfsplus" out.dmg untar $jelbrek/cydiahttpatch.tar
fi
if [[ $ipsw_openssh == 1 ]]; then if [[ $ipsw_openssh == 1 ]]; then
"$dir/hfsplus" out.dmg untar $jelbrek/sshdeb.tar "$dir/hfsplus" out.dmg untar $jelbrek/sshdeb.tar
fi fi
@ -2361,6 +2381,11 @@ restore_idevicerestore() {
print "* Please read the \"Troubleshooting\" wiki page in GitHub before opening any issue!" print "* Please read the \"Troubleshooting\" wiki page in GitHub before opening any issue!"
print "* Your problem may have already been addressed within the wiki page." print "* Your problem may have already been addressed within the wiki page."
print "* If opening an issue in GitHub, please provide a FULL log/output. Otherwise, your issue may be dismissed." print "* If opening an issue in GitHub, please provide a FULL log/output. Otherwise, your issue may be dismissed."
if [[ $ipsw_jailbreak == 1 ]]; then
case $device_target_vers in
5* | 4* | 3* ) warn "Do not update Cydia Substrate and Substrate Safe Mode in Cydia!";;
esac
fi
} }
restore_futurerestore() { restore_futurerestore() {
@ -2463,6 +2488,11 @@ restore_latest() {
if [[ $device_target_vers == "4"* ]]; then if [[ $device_target_vers == "4"* ]]; then
print "* For device activation, go to: Other Utilities -> Attempt Activation" print "* For device activation, go to: Other Utilities -> Attempt Activation"
fi fi
if [[ $ipsw_jailbreak == 1 ]]; then
case $device_target_vers in
5* | 4* | 3* ) warn "Do not update Cydia Substrate and Substrate Safe Mode in Cydia!";;
esac
fi
} }
restore_prepare_1033() { restore_prepare_1033() {
@ -2955,6 +2985,12 @@ device_ramdisk() {
$ssh -p 2222 root@127.0.0.1 "tar -xvf /mnt1/$untether -C /mnt1; rm /mnt1/$untether" $ssh -p 2222 root@127.0.0.1 "tar -xvf /mnt1/$untether -C /mnt1; rm /mnt1/$untether"
;; ;;
esac esac
case $vers in
5* | 4* | 3* ) device_ramdisktar cydiasubstrate.tar;;
esac
case $vers in
3* ) device_ramdisktar cydiahttpatch.tar;;
esac
device_ramdisktar freeze.tar data device_ramdisktar freeze.tar data
if [[ $ipsw_openssh == 1 ]]; then if [[ $ipsw_openssh == 1 ]]; then
device_ramdisktar sshdeb.tar device_ramdisktar sshdeb.tar
@ -2979,6 +3015,9 @@ device_ramdisk() {
$ssh -p 2222 root@127.0.0.1 "reboot_bak" $ssh -p 2222 root@127.0.0.1 "reboot_bak"
fi fi
log "Cool, done and jailbroken (hopefully)" log "Cool, done and jailbroken (hopefully)"
case $vers in
5* | 4* | 3* ) warn "Do not update Cydia Substrate and Substrate Safe Mode in Cydia!";;
esac
return return
;; ;;
@ -3270,17 +3309,16 @@ menu_restore() {
iPad2,[123] | iPhone4,1 ) iPad2,[123] | iPhone4,1 )
menu_items+=("iOS 6.1.3");; menu_items+=("iOS 6.1.3");;
iPhone2,1 ) iPhone2,1 )
menu_items+=("5.1.1" "5.1" "5.0.1" "5.0" "4.3.3" "4.1" "4.0" "3.1.3" "3.1.2" "3.1");; menu_items+=("5.1.1" "5.0.1" "4.3.3" "4.1" "3.1.3");;
iPod3,1 ) iPod3,1 )
menu_items+=("4.1");; menu_items+=("4.1");;
iPod2,1 ) iPod2,1 )
menu_items+=("4.1") menu_items+=("4.1" "3.1.3")
if [[ $device_newbr == 0 ]]; then
menu_items+=("4.0")
fi
menu_items+=("3.1.3")
;; ;;
esac esac
if (( device_proc < 7 )); then
menu_items+=("Latest iOS ($device_latest_vers)")
fi
case $device_type in case $device_type in
iPhone4,1 | iPhone5,[1234] | iPad2,4 | iPod5,1 ) iPhone4,1 | iPhone5,[1234] | iPad2,4 | iPod5,1 )
menu_items+=("Other (powdersn0w 7.x blobs)");; menu_items+=("Other (powdersn0w 7.x blobs)");;
@ -3289,10 +3327,7 @@ menu_restore() {
iPhone2,1 | iPod2,1 ) iPhone2,1 | iPod2,1 )
menu_items+=("Other (Custom IPSW)");; menu_items+=("Other (Custom IPSW)");;
esac esac
if (( device_proc < 7 )); then menu_items+=("Other (Use SHSH blobs)" "Go Back")
menu_items+=("Latest iOS ($device_latest_vers)")
fi
menu_items+=("Other (use SHSH blobs)" "Go Back")
menu_print_info menu_print_info
if [[ $1 == "ipsw" ]]; then if [[ $1 == "ipsw" ]]; then
print " > Main Menu > Other Utilities > Create Custom IPSW" print " > Main Menu > Other Utilities > Create Custom IPSW"
@ -3422,7 +3457,7 @@ menu_ipsw() {
ipsw_custom_set $newpath ipsw_custom_set $newpath
newpath+="_Restore" newpath+="_Restore"
fi fi
if [[ $1 == "Other (use SHSH blobs)" ]]; then if [[ $1 == "Other (Use SHSH blobs)" ]]; then
device_target_other=1 device_target_other=1
elif [[ $1 == *"powdersn0w"* ]]; then elif [[ $1 == *"powdersn0w"* ]]; then
device_target_powder=1 device_target_powder=1
@ -3827,10 +3862,14 @@ device_dump() {
device_enter_mode pwnDFU device_enter_mode pwnDFU
fi fi
if [[ $device_mode == "Normal" ]]; then if [[ $device_mode == "Normal" ]]; then
print "* Make sure to have installed the requirements from Cydia/Zebra." print "* Make sure to have OpenSSH installed on your iOS device."
print "* Only proceed if you have followed the steps in the GitHub wiki." if [[ $(echo "$device_vers" | cut -c 1) == 1 ]]; then
print "* Make sure to also have Dropbear installed from my repo."
print "* Repo: https://lukezgd.github.io/repo"
fi
print "* Only proceed if you have these requirements installed using Cydia/Zebra."
print "* You will be prompted to enter the root password of your iOS device." print "* You will be prompted to enter the root password of your iOS device."
print "* The default root password is \"alpine\"" print "* The default root password is: alpine"
log "Running iproxy for SSH..." log "Running iproxy for SSH..."
$iproxy 2222 22 >/dev/null & $iproxy 2222 22 >/dev/null &
iproxy_pid=$! iproxy_pid=$!