Remove PwnedDevice arg, add troubleshooting links

This commit is contained in:
LukeZGD 2022-12-14 19:01:24 +08:00
parent 0f23767cf4
commit 211b89112c
3 changed files with 36 additions and 32 deletions

View File

@ -361,10 +361,16 @@ PatchiBSS() {
} }
SendPwnediBSSA5() { SendPwnediBSSA5() {
Echo "* Make sure that your device is in pwnDFU mode using an Arduino+USB Host Shield!" Echo "* You need to have an Arduino and USB Host Shield to proceed for PWNED DFU mode."
Echo "* This option will not work if your device is not in pwnDFU mode." Echo "* If you do not know what you are doing, select N and restart your device in normal mode before retrying."
Input "Press Enter/Return to continue (or press Ctrl+C to cancel)" read -p "$(Input 'Is your device in PWNED DFU mode using synackuk checkm8-a5? (y/N):')" opt
read -s if [[ $opt != "Y" && $opt != "y" && $DeviceProc == 5 ]]; then
echo -e "\n${Color_R}[Error] 32-bit A5 device is not in PWNED DFU mode. ${Color_N}"
echo "${Color_Y}* Please put the device in normal mode and jailbroken before proceeding. ${Color_N}"
echo "${Color_Y}* Exit DFU mode by holding the TOP and HOME buttons for 15 seconds. ${Color_N}"
echo "${Color_Y}* For usage of kDFU/pwnDFU, read the \"Troubleshooting\" wiki page in GitHub ${Color_N}"
ExitWin 1
fi
Input "No iBSS Option" Input "No iBSS Option"
Echo "* If you already have sent pwned iBSS manually, select Y. If not, select N." Echo "* If you already have sent pwned iBSS manually, select Y. If not, select N."
Echo "* This option is disabled by default (N)." Echo "* This option is disabled by default (N)."
@ -421,7 +427,7 @@ kDFU() {
Echo "1. Make sure to have installed the requirements from Cydia." Echo "1. Make sure to have installed the requirements from Cydia."
Echo " - Only proceed if you have followed Section 2 (and 2.1 for iOS 10) in the GitHub wiki." Echo " - Only proceed if you have followed Section 2 (and 2.1 for iOS 10) in the GitHub wiki."
Echo " - You will be prompted to enter the root password of your iOS device twice." Echo " - You will be prompted to enter the root password of your iOS device twice."
Echo " - If you have not changed it, the default password is \"alpine\"" Echo " - The default root password is \"alpine\""
Echo " - Do not worry that your input is not visible, it is still being entered." Echo " - Do not worry that your input is not visible, it is still being entered."
Echo "2. Afterwards, the device will disconnect and its screen will stay black." Echo "2. Afterwards, the device will disconnect and its screen will stay black."
Echo " - Proceed to either press the TOP/HOME button, or unplug and replug the device." Echo " - Proceed to either press the TOP/HOME button, or unplug and replug the device."
@ -435,6 +441,15 @@ kDFU() {
else else
Log "Failed to connect to device via USB SSH." Log "Failed to connect to device via USB SSH."
Echo "* For Linux users, try running \"sudo systemctl restart usbmuxd\" before retrying USB SSH." Echo "* For Linux users, try running \"sudo systemctl restart usbmuxd\" before retrying USB SSH."
if [[ $VerDetect == 1 ]]; then
Echo "* Try to re-install both OpenSSH and Dropbear, reboot, re-jailbreak with h3lix, and try again."
elif [[ $VerDetect == 5 ]]; then
Echo "* Try to re-install OpenSSH, reboot, and try again."
else
Echo "* Try to re-install OpenSSH, reboot, re-jailbreak, and try again."
Echo "* Alternatively, you may use kDFUApp from my Cydia repo (see \"Troubleshooting\" wiki page for details)"
Echo "* Troubleshooting link: https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting#dfu-advanced-menu-kdfu-mode"
fi
Input "Press Enter/Return to try again with Wi-Fi SSH (or press Ctrl+C to cancel and try again)" Input "Press Enter/Return to try again with Wi-Fi SSH (or press Ctrl+C to cancel and try again)"
read -s read -s
Log "Will try again with Wi-Fi SSH..." Log "Will try again with Wi-Fi SSH..."
@ -443,8 +458,6 @@ kDFU() {
read -p "$(Input 'Enter the IP Address of your device:')" IPAddress read -p "$(Input 'Enter the IP Address of your device:')" IPAddress
$SCP resources/tools/$kloader tmp/pwnediBSS root@$IPAddress:/tmp $SCP resources/tools/$kloader tmp/pwnediBSS root@$IPAddress:/tmp
if [[ $? != 0 ]]; then if [[ $? != 0 ]]; then
Log "Failed to connect to device via Wi-Fi SSH."
Echo "* Alternatively, you may use kDFUApp by tihmstar from my repo (see \"Troubleshooting\" wiki page for details)"
Error "Failed to connect to device via SSH, cannot continue." Error "Failed to connect to device via SSH, cannot continue."
fi fi
$SSH root@$IPAddress "chmod +x /tmp/$kloader; /tmp/$kloader /tmp/pwnediBSS" & $SSH root@$IPAddress "chmod +x /tmp/$kloader; /tmp/$kloader /tmp/pwnediBSS" &
@ -499,8 +512,9 @@ Remove4() {
$irecovery -c "saveenv" $irecovery -c "saveenv"
$irecovery -c "reset" $irecovery -c "reset"
Log "Done!" Log "Done!"
Echo "* If disabling the exploit did not work and the device is getting stuck after restore:" Echo "* If disabling the exploit did not work and the device is still in recovery mode screen after restore:"
Echo "* You may try another method for clearing NVRAM. See the \"Troubleshooting\" wiki page for more details" Echo "* You may try another method for clearing NVRAM. See the \"Troubleshooting\" wiki page for more details"
Echo "* Troubleshooting link: https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting#clearing-nvram"
} }
Ramdisk4() { Ramdisk4() {

View File

@ -172,7 +172,8 @@ iDeviceRestore() {
Log "Restoring done! Read the message below if any error has occurred:" Log "Restoring done! Read the message below if any error has occurred:"
if [[ $platform == "win" ]]; then if [[ $platform == "win" ]]; then
Echo "* Windows users may encounter errors like \"Unable to send APTicket\" or \"Unable to send iBEC\" in the restore process." Echo "* Windows users may encounter errors like \"Unable to send APTicket\" or \"Unable to send iBEC\" in the restore process."
Echo "* To fix this, follow troubleshooting steps from here: https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting#windows" Echo "* Follow the troubleshoting link for steps to attempt fixing this issue."
Echo "* Troubleshooting link: https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting#windows"
fi fi
Echo "* Please read the \"Troubleshooting\" wiki page in GitHub before opening any issue!" Echo "* Please read the \"Troubleshooting\" wiki page in GitHub before opening any issue!"
Echo "* Your problem may have already been addressed within the wiki page." Echo "* Your problem may have already been addressed within the wiki page."

View File

@ -18,8 +18,6 @@ for i in "$@"; do
NoDevice=1 NoDevice=1
elif [[ $i == "NoVersionCheck" ]]; then elif [[ $i == "NoVersionCheck" ]]; then
NoVersionCheck=1 NoVersionCheck=1
elif [[ $i == "PwnedDevice" ]]; then
PwnedDevice=1
fi fi
done done
@ -280,31 +278,22 @@ Main() {
fi fi
elif [[ $DeviceState == "DFU" ]]; then elif [[ $DeviceState == "DFU" ]]; then
if [[ $PwnedDevice != 1 ]]; then Log "32-bit A${DeviceProc} device detected in DFU mode."
echo -e "\n${Color_R}[Error] 32-bit A${DeviceProc} device detected in DFU mode. ${Color_N}" Echo "* DFU Advanced Menu"
Echo "* Please specify if the device is already in kDFU mode or not."
read -p "$(Input 'Is your device in kDFU mode? (y/N):')" opt
if [[ $opt == "Y" || $opt == "y" ]]; then
Log "kDFU mode specified by user."
elif [[ $platform == "win" ]]; then
echo -e "\n${Color_R}[Error] Your device must be either in normal mode or kDFU mode for Windows. ${Color_N}"
echo "${Color_Y}* Please put the device in normal mode and jailbroken before proceeding. ${Color_N}" echo "${Color_Y}* Please put the device in normal mode and jailbroken before proceeding. ${Color_N}"
echo "${Color_Y}* Exit DFU mode by holding the TOP and HOME buttons for 15 seconds. ${Color_N}" echo "${Color_Y}* Exit DFU mode by holding the TOP and HOME buttons for 15 seconds. ${Color_N}"
echo "${Color_Y}* For usage of the DFU Advanced Menu, add PwnedDevice as an argument. ${Color_N}"
echo "${Color_Y}* For more details, read the \"Troubleshooting\" wiki page in GitHub ${Color_N}"
ExitWin 1 ExitWin 1
elif [[ $DeviceProc == 5 ]]; then
SendPwnediBSSA5
else
EnterPwnDFU
fi fi
echo
Echo "* DFU Advanced Menu"
Echo "* If you do not know what you are doing, exit now and restart your device in normal mode before retrying."
Input "Select the mode that your device is currently in:"
Selection=("kDFU mode")
if [[ $platform != "win" ]]; then
[[ $DeviceProc == 5 ]] && Selection+=("pwnDFU mode (A5)") || Selection+=("DFU mode (A4/A6)")
fi
Selection+=("Any other key to exit")
select opt in "${Selection[@]}"; do
case $opt in
"kDFU mode" ) break;;
"DFU mode (A4/A6)" ) EnterPwnDFU; break;;
"pwnDFU mode (A5)" ) SendPwnediBSSA5; break;;
* ) exit 0;;
esac
done
Log "Downgrading $ProductType in kDFU/pwnDFU mode..." Log "Downgrading $ProductType in kDFU/pwnDFU mode..."
elif [[ $DeviceState == "Recovery" ]]; then elif [[ $DeviceState == "Recovery" ]]; then