mirror of
https://github.com/LukeZGD/Legacy-iOS-Kit.git
synced 2024-12-24 23:31:48 +01:00
Add ipsw_win3 and other fixes
- fix jailbreak option not showing up on iphone4down - fix 7.1.2 custom ipsw creation on windows (ipsw_win3) - do not show memory option on windows - always skip memory option when custom ipsw detected - enable 4.3.x ipsw creation on linux only - use ipwnder32 for iphone4down on macos - do not show ramdisk option on windows - disable downgrading using iphone4down on windows for now due to issues with idevicerestore
This commit is contained in:
parent
5e30eaf1b9
commit
804a3e73ae
@ -4,7 +4,7 @@
|
|||||||
- **iPhone4Down: Downgrade your iPhone 4 on Linux (using powdersn0w)**
|
- **iPhone4Down: Downgrade your iPhone 4 on Linux (using powdersn0w)**
|
||||||
- **Linux and macOS** are supported
|
- **Linux and macOS** are supported
|
||||||
- **Partial support for Windows** - usage is not recommended
|
- **Partial support for Windows** - usage is not recommended
|
||||||
- iPhone4Down is focused on Linux only - macOS and Windows are untested
|
- iPhone4Down is focused on Linux only - macOS and Windows are only partially supported
|
||||||
- **Read the ["How to Use" wiki page](https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/How-to-Use) for a step-by-step tutorial**
|
- **Read the ["How to Use" wiki page](https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/How-to-Use) for a step-by-step tutorial**
|
||||||
- **Read the ["Troubleshooting" wiki page](https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting) for tips, frequent questions, and troubleshooting**
|
- **Read the ["Troubleshooting" wiki page](https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting) for tips, frequent questions, and troubleshooting**
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@ InstallDepends() {
|
|||||||
pacman -Sy --noconfirm --needed ca-certificates curl openssh unzip zip
|
pacman -Sy --noconfirm --needed ca-certificates curl openssh unzip zip
|
||||||
libimobiledevice=("https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/libimobiledevice_win.zip" "75ae3af3347b89107f0f6b7e41fde42e6ccdd404")
|
libimobiledevice=("https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/libimobiledevice_win.zip" "75ae3af3347b89107f0f6b7e41fde42e6ccdd404")
|
||||||
if [[ ! $(ls ../resources/tools/*win*) ]]; then
|
if [[ ! $(ls ../resources/tools/*win*) ]]; then
|
||||||
SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/tools_win.zip tools_win.zip d6fed106f38f8e60dfaf67cfbcb06898fb9a1b2e
|
SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/tools_win.zip tools_win.zip e8c67c803f61e059ac77047d110d5dda12dc4adb
|
||||||
Log "Extracting Windows tools..."
|
Log "Extracting Windows tools..."
|
||||||
unzip -oq tools_win.zip -d ../resources
|
unzip -oq tools_win.zip -d ../resources
|
||||||
fi
|
fi
|
||||||
|
@ -211,6 +211,8 @@ EnterPwnDFU() {
|
|||||||
Input "Press Enter/Return to continue (or press Ctrl+C to cancel)"
|
Input "Press Enter/Return to continue (or press Ctrl+C to cancel)"
|
||||||
read -s
|
read -s
|
||||||
return
|
return
|
||||||
|
elif [[ $platform == "macos" ]]; then
|
||||||
|
pwnDFUTool="$ipwnder32"
|
||||||
fi
|
fi
|
||||||
elif [[ $platform == "macos" ]]; then
|
elif [[ $platform == "macos" ]]; then
|
||||||
Selection=("ipwnder_lite" "iPwnder32")
|
Selection=("ipwnder_lite" "iPwnder32")
|
||||||
@ -461,7 +463,7 @@ Remove4() {
|
|||||||
Log "Patching iBSS..."
|
Log "Patching iBSS..."
|
||||||
$bspatch tmp/iBSS tmp/pwnediBSS resources/patches/iBSS.n90ap.8L1.patch
|
$bspatch tmp/iBSS tmp/pwnediBSS resources/patches/iBSS.n90ap.8L1.patch
|
||||||
Log "Booting iBSS..."
|
Log "Booting iBSS..."
|
||||||
$pwnedDFU -f tmp/pwnediBSS
|
$irecovery -f tmp/pwnediBSS
|
||||||
sleep 2
|
sleep 2
|
||||||
Log "Running commands..."
|
Log "Running commands..."
|
||||||
$irecovery -c "setenv boot-partition $Rec"
|
$irecovery -c "setenv boot-partition $Rec"
|
||||||
|
@ -243,9 +243,7 @@ Downgrade() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Downgrade4() {
|
Downgrade4() {
|
||||||
if [[ $OSVer == "7.1.2" ]]; then
|
JailbreakOption
|
||||||
[[ $platform != "win" ]] && JailbreakOption
|
|
||||||
fi
|
|
||||||
IPSWFindVerify
|
IPSWFindVerify
|
||||||
Save712Blobs
|
Save712Blobs
|
||||||
if [[ $OSVer == "7.1.2" && $Jailbreak != 1 ]]; then
|
if [[ $OSVer == "7.1.2" && $Jailbreak != 1 ]]; then
|
||||||
|
@ -66,7 +66,8 @@ JailbreakOption() {
|
|||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if [[ $Jailbreak != 1 || $platform == "win" ]]; then
|
[[ $platform == "win" || -e "$IPSWCustom.ipsw" ]] && return
|
||||||
|
if [[ $Jailbreak != 1 ]]; then
|
||||||
if [[ $ProductType == "iPhone3"* ]]; then
|
if [[ $ProductType == "iPhone3"* ]]; then
|
||||||
[[ $OSVer == "7.1.2" ]] && return
|
[[ $OSVer == "7.1.2" ]] && return
|
||||||
else
|
else
|
||||||
@ -161,11 +162,12 @@ IPSWSetExtract() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
IPSW32() {
|
IPSW32() {
|
||||||
|
local BBUpdate="-bbupdate"
|
||||||
local ExtraArgs
|
local ExtraArgs
|
||||||
local JBFiles
|
local JBFiles
|
||||||
local JBFiles2
|
local JBFiles2
|
||||||
local JBSHA1
|
local JBSHA1
|
||||||
BBUpdate="-bbupdate"
|
local WinBundles
|
||||||
|
|
||||||
if [[ -e $IPSWCustom.ipsw ]]; then
|
if [[ -e $IPSWCustom.ipsw ]]; then
|
||||||
Log "Found existing Custom IPSW. Skipping IPSW creation."
|
Log "Found existing Custom IPSW. Skipping IPSW creation."
|
||||||
@ -238,6 +240,7 @@ IPSW4() {
|
|||||||
local JBFiles=()
|
local JBFiles=()
|
||||||
local JBFiles2
|
local JBFiles2
|
||||||
local JBSHA1
|
local JBSHA1
|
||||||
|
local WinBundles
|
||||||
|
|
||||||
if [[ -e $IPSWCustom.ipsw ]]; then
|
if [[ -e $IPSWCustom.ipsw ]]; then
|
||||||
Log "Found existing Custom IPSW. Skipping IPSW creation."
|
Log "Found existing Custom IPSW. Skipping IPSW creation."
|
||||||
@ -269,8 +272,12 @@ IPSW4() {
|
|||||||
|
|
||||||
cd tmp
|
cd tmp
|
||||||
if [[ $OSVer == "7.1.2" && ! -e $IPSWCustom.ipsw ]]; then
|
if [[ $OSVer == "7.1.2" && ! -e $IPSWCustom.ipsw ]]; then
|
||||||
|
if [[ $platform == "win" ]]; then
|
||||||
|
ipsw="${ipsw}3"
|
||||||
|
WinBundles="windows/"
|
||||||
|
fi
|
||||||
Log "Preparing custom IPSW..."
|
Log "Preparing custom IPSW..."
|
||||||
cp -rf ../resources/firmware/FirmwareBundles .
|
cp -rf ../resources/firmware/${WinBundles}FirmwareBundles .
|
||||||
$ipsw ../$IPSW.ipsw ../$IPSWCustom.ipsw $JBMemory -S 50 ${JBFiles[@]}
|
$ipsw ../$IPSW.ipsw ../$IPSWCustom.ipsw $JBMemory -S 50 ${JBFiles[@]}
|
||||||
elif [[ ! -e $IPSWCustom.ipsw ]]; then
|
elif [[ ! -e $IPSWCustom.ipsw ]]; then
|
||||||
echo
|
echo
|
||||||
|
Binary file not shown.
24
restore.sh
24
restore.sh
@ -116,7 +116,8 @@ Main() {
|
|||||||
[[ $DeviceProc != 4 ]] && Selection+=("Save OTA Blobs")
|
[[ $DeviceProc != 4 ]] && Selection+=("Save OTA Blobs")
|
||||||
|
|
||||||
if [[ $ProductType == "iPhone3,1" && $1 != "NoDevice" ]]; then
|
if [[ $ProductType == "iPhone3,1" && $1 != "NoDevice" ]]; then
|
||||||
Selection+=("Disable/Enable Exploit" "Restore to 7.1.2" "SSH Ramdisk")
|
Selection+=("Disable/Enable Exploit" "Restore to 7.1.2")
|
||||||
|
[[ $platform != "win" ]] && Selection+=("SSH Ramdisk")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $DeviceProc != 7 ]]; then
|
if [[ $DeviceProc != 7 ]]; then
|
||||||
@ -296,9 +297,15 @@ SelectVersion() {
|
|||||||
|
|
||||||
if [[ $ProductType == "iPhone3,1" ]]; then
|
if [[ $ProductType == "iPhone3,1" ]]; then
|
||||||
[[ $Mode == "IPSW32" ]] && Selection+=("7.1.2")
|
[[ $Mode == "IPSW32" ]] && Selection+=("7.1.2")
|
||||||
Selection+=("6.1.3" "5.1.1 (9B208)" "5.1.1 (9B206)" "4.3.5" "More versions (4.3-6.1.2)")
|
Selection+=("6.1.3" "5.1.1 (9B208)" "5.1.1 (9B206)")
|
||||||
Selection2=("6.1.2" "6.1" "6.0.1" "6.0" "5.1" "5.0.1" "5.0" "4.3.3" "4.3")
|
Selection2=("6.1.2" "6.1" "6.0.1" "6.0" "5.1" "5.0.1" "5.0")
|
||||||
if [[ $Mode == "Restore712" ]]; then
|
if [[ $platform == "linux" ]]; then
|
||||||
|
Selection+=("4.3.5")
|
||||||
|
Selection2+=("4.3.3" "4.3")
|
||||||
|
elif [[ $platform == "win" && $Mode == "Downgrade" ]]; then
|
||||||
|
Error "Using iPhone4Down on Windows is currently disabled due to issues with idevicerestore" \
|
||||||
|
"Only creating custom IPSWs is enabled for now. This will be fixed sometime later"
|
||||||
|
elif [[ $Mode == "Restore712" ]]; then
|
||||||
Echo "* Make sure to disable the exploit first! See the README for more details."
|
Echo "* Make sure to disable the exploit first! See the README for more details."
|
||||||
Input "Press Enter/Return to continue (or press Ctrl+C to cancel)"
|
Input "Press Enter/Return to continue (or press Ctrl+C to cancel)"
|
||||||
read -s
|
read -s
|
||||||
@ -306,7 +313,12 @@ SelectVersion() {
|
|||||||
BuildVer="11D257"
|
BuildVer="11D257"
|
||||||
Mode="Downgrade4"
|
Mode="Downgrade4"
|
||||||
return
|
return
|
||||||
elif [[ $Mode == "Downgrade" ]]; then
|
else
|
||||||
|
Echo "* iOS 4.3.x downgrades are available on Linux only"
|
||||||
|
Echo "* For macOS users, use cherryflowerJB instead"
|
||||||
|
fi
|
||||||
|
Selection+=("More versions")
|
||||||
|
if [[ $Mode == "Downgrade" ]]; then
|
||||||
Mode="Downgrade4"
|
Mode="Downgrade4"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -328,7 +340,7 @@ SelectVersion() {
|
|||||||
"5.1.1 (9B208)" ) OSVer="5.1.1"; BuildVer="9B208"; break;;
|
"5.1.1 (9B208)" ) OSVer="5.1.1"; BuildVer="9B208"; break;;
|
||||||
"5.1.1 (9B206)" ) OSVer="5.1.1"; BuildVer="9B206"; break;;
|
"5.1.1 (9B206)" ) OSVer="5.1.1"; BuildVer="9B206"; break;;
|
||||||
"4.3.5" ) OSVer="4.3.5"; BuildVer="8L1"; break;;
|
"4.3.5" ) OSVer="4.3.5"; BuildVer="8L1"; break;;
|
||||||
"More versions (4.3-6.1.2)" ) OSVer="More"; break;;
|
"More versions" ) OSVer="More"; break;;
|
||||||
* ) exit 0;;
|
* ) exit 0;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user