diff --git a/.gitignore b/.gitignore index 72a046b..ac85d83 100644 --- a/.gitignore +++ b/.gitignore @@ -7,10 +7,10 @@ *.shsh2 *.so* *.txt +Cydia* iP* saved/ resources/firmware/ resources/ipwndfu/ -resources/jailbreak/ resources/libirecovery/ tmp/ diff --git a/README.md b/README.md index 6c36375..e5fb953 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,10 @@ # iOS-OTA-Downgrader ### (formerly 32bit-OTA-Downgrader) -### Downgrade/restore iOS devices to signed OTA firmwares +### Downgrade/restore and jailbreak iOS devices to signed OTA firmwares - This is currently the only downgrade script/tool that supports **both Linux and macOS** +- iOS 8.4.1 and 6.1.3 downgrades have the option to jailbreak + - For iOS 10.3.3, use [TotallyNotSpyware](https://totally-not.spyware.lol) +- **You do NOT need blobs to use this**, the script will get them for you - **Please see the "Other notes" section below to serve as answers/solutions for frequent questions and issues** ## Supported devices: @@ -17,7 +20,7 @@ - iPad 2, iPad 3, iPad mini 1 - iPod 5th gen - **iPhone 5C is NOT Supported** -- **iOS 6.1.3** (can be jailbroken): +- **iOS 6.1.3**: - iPhone 4S - iPad 2 **except iPad2,4** @@ -57,7 +60,6 @@ - macOS 10.13 to 10.15 ## Other notes: -- **You do NOT need blobs to use this**, the script will get them for you - If the restore process does not work for you, try switching USB ports and/or cables - This script will verify the IPSW SHA1sum before restoring - For users having issues related to missing libraries or tools, re-install dependencies with `./restore.sh Install` @@ -67,7 +69,7 @@ - If the script can't find your device in pwnREC mode or gets stuck, you may have to start over - Other than the above there's not much else I can help regarding entering pwnDFU mode... - For 32-bit devices: - - To devices with baseband, this script will restore your device with the latest baseband (except iOS 6 jailbreak) + - To devices with baseband, this script will restore your device with the latest baseband (except when jailbreak is enabled) - This script has a workaround for the activation error on devices downgrading from iOS 10 - This script can also be used to just enter kDFU mode for all supported devices - This script can also restore your device to other iOS versions with provided SHSH blobs @@ -84,7 +86,7 @@ - [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice) - [imobiledevice-net](https://github.com/libimobiledevice-win32/imobiledevice-net) (macOS) - [idevicerestore](https://github.com/LukeZGD/idevicerestore) -- ipsw tool from OdysseusOTA +- ipsw tool from OdysseusOTA/2 - python2 - [tsschecker](https://github.com/tihmstar/tsschecker) - [futurerestore 152](http://api.tihmstar.net/builds/futurerestore/futurerestore-latest.zip) (32-bit) diff --git a/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/Info.plist b/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/Info.plist deleted file mode 100644 index 1011297..0000000 --- a/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/Info.plist +++ /dev/null @@ -1,138 +0,0 @@ - - - - - RootFilesystem - 048-2634-005.dmg - RootFilesystemSize - 1063 - Filename - iPad2,1_6.1.3_10B329_Restore.ipsw - RamdiskMountVolume - ramdisk - Name - iPhone2,1_6.1.3_10B329 - SubPlatform - 6 - Platform - 1 - RamdiskOptionsPath - /usr/local/share/restore/options.k93.plist - SHA1 - 241a02bb446c21e44e8470b77e09b5fbfba7d6c4 - BuildIdentitiesPatches - - UniqueBuildID - tmhlqSVs3hfYDCFEF1CNxG9edO8= - Manifest - - RestoreRamDisk - - Digest - soTe26MUEWqoKnxbAlm9uDrYEA4= - PartialDigest - QAAAAHhwMwEwggsDt8v7VOdjNK99c7EacJVHFA== - - - - RamdiskPatches - - asr - - File - usr/sbin/asr - Patch - asr.patch - - - DownloadUrl - - FilesystemPatches - - RootFilesystemMountVolume - BrightonMaps10B329.K93OS - FirmwarePatches - - iBSS - - File - Firmware/dfu/iBSS.k93ap.RELEASE.dfu - Key - 6e4cce9ea6f2ec346cba0b279beab1b43e44a0680f1fde789a00f66a1e68ffab - Decrypt - - Patch - iBSS.k93ap.RELEASE.patch - IV - b69f753dccd09c9b98d345ec73bbf044 - TypeFlag - 8 - - iBEC - - File - Firmware/dfu/iBEC.k93ap.RELEASE.dfu - Key - 69eaeb223db61b557c36d65fa7e6e4ec1c0d7547dfce9d46077f7e5b0fcba98f - Decrypt - - Patch - iBEC.k93ap.RELEASE.patch - IV - 3a0726b7bc091915dd928eed21478728 - TypeFlag - 8 - - RestoreDeviceTree - - File - Firmware/all_flash/all_flash.k93ap.production/DeviceTree.k93ap.img3 - Key - 7c9c0c49075fd6c47e1598f23901266237e30e60dcfc7174b8c2ea6f42532bfb - DecryptPath - Downgrade/DeviceTree.k93ap.img3 - IV - 557d2b8116b04cf93bf7bff023ed6bf2 - - RestoreLogo - - File - Firmware/all_flash/all_flash.k93ap.production/applelogo.s5l8940x.img3 - Key - 0e7aa7bbcfddc88dfe0e56e021363028502621c52c709afc3744850977e2fb9f - DecryptPath - Downgrade/applelogo@2x.s5l8940x.img3 - IV - 623b2592ad563ea16bd8a86af6960bcb - - Restore Ramdisk - - File - 048-2516-005.dmg - Key - d406dc4343eedf9d6567e8303ba39a21f81f99bf701840c888963af58a84fb8f - Decrypt - - TypeFlag - 8 - IV - 8775b711d2e09e332f8ebfbebe63cce7 - - RestoreKernelCache - - File - kernelcache.release.k93 - Key - 2bbdf3fea41600cd7ae46157af7f19b1726900802f2ec2022aa60b9a27a3261f - DecryptPath - Downgrade/kernelcache.release.k93 - TypeFlag - 4 - IV - 247ea923c137404f4faec7da75822b08 - - - RootFilesystemKey - 70f5ac054bf50a522fd39071f6acbd92954804599c1507b881d7d9c4026005e3867bfab0 - - diff --git a/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/asr.patch b/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/asr.patch deleted file mode 100644 index 5266c80..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/asr.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/iBEC.k93ap.RELEASE.patch b/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/iBEC.k93ap.RELEASE.patch deleted file mode 100644 index 0eba4eb..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/iBEC.k93ap.RELEASE.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/iBSS.k93ap.RELEASE.patch b/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/iBSS.k93ap.RELEASE.patch deleted file mode 100644 index 65738f8..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,1_6.1.3_10B329.bundle/iBSS.k93ap.RELEASE.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/Info.plist b/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/Info.plist deleted file mode 100644 index d0d472b..0000000 --- a/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/Info.plist +++ /dev/null @@ -1,138 +0,0 @@ - - - - - RootFilesystem - 048-2475-005.dmg - RootFilesystemSize - 1088 - Filename - iPad2,2_6.1.3_10B329_Restore.ipsw - RamdiskMountVolume - ramdisk - Name - iPhone2,2_6.1.3_10B329 - SubPlatform - 6 - Platform - 1 - RamdiskOptionsPath - /usr/local/share/restore/options.k94.plist - SHA1 - 1b7897aea7b23d2e00e3d3c5c0ad2a0c47b345cd - BuildIdentitiesPatches - - UniqueBuildID - 8iAuVn4UX8D2WcdqFQyoa+kz0FQ= - Manifest - - RestoreRamDisk - - Digest - soTe26MUEWqoKnxbAlm9uDrYEA4= - PartialDigest - QAAAAHhwMwEwggsDt8v7VOdjNK99c7EacJVHFA== - - - - RamdiskPatches - - asr - - File - usr/sbin/asr - Patch - asr.patch - - - DownloadUrl - - FilesystemPatches - - RootFilesystemMountVolume - BrightonMaps10B329.K94OS - FirmwarePatches - - iBSS - - File - Firmware/dfu/iBSS.k94ap.RELEASE.dfu - Key - b1bd1dc5e6076054392be054d50711ae70e8fcf31a47899fb90ab0ff3111b687 - Decrypt - - Patch - iBSS.k94ap.RELEASE.patch - IV - bc3c9f168d7fb86aa219b7ad8039584b - TypeFlag - 8 - - iBEC - - File - Firmware/dfu/iBEC.k94ap.RELEASE.dfu - Key - f4b314ce6b84de8c2bcfc9e6821a657b964767253e214f44af33b141703f6606 - Decrypt - - Patch - iBEC.k94ap.RELEASE.patch - IV - 2a160d86a7cb6c976009725a9d8c009c - TypeFlag - 8 - - RestoreDeviceTree - - File - Firmware/all_flash/all_flash.k94ap.production/DeviceTree.k94ap.img3 - Key - dbb0ade4c92ec6e561dd51f513ea0332b490f89f4a168f11efc1e9967c02847d - DecryptPath - Downgrade/DeviceTree.k94ap.img3 - IV - 43fdbf9046da468ecc944bb4bee19879 - - RestoreLogo - - File - Firmware/all_flash/all_flash.k94ap.production/applelogo.s5l8940x.img3 - Key - 0e7aa7bbcfddc88dfe0e56e021363028502621c52c709afc3744850977e2fb9f - DecryptPath - Downgrade/applelogo@2x.s5l8940x.img3 - IV - 623b2592ad563ea16bd8a86af6960bcb - - Restore Ramdisk - - File - 048-2516-005.dmg - Key - 66affb95fd5f5e9b976cee5822c563dd111069746f13200c5641c500600f1426 - Decrypt - - TypeFlag - 8 - IV - b59813148a1246ef4f4e3a5aa70ac471 - - RestoreKernelCache - - File - kernelcache.release.k94 - Key - c835455a98365c5c0dda77348109a0e88faea4e4d879a0f07a4bece7b4cc64ac - DecryptPath - Downgrade/kernelcache.release.k94 - TypeFlag - 4 - IV - c3e3ba1bb5627935d508c9fdf2490eba - - - RootFilesystemKey - 19703b03962ad004afeab0f80fcff0dd2e3ddca02c9f0e08bcd635884e941797c0b9dece - - diff --git a/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/asr.patch b/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/asr.patch deleted file mode 100644 index 5266c80..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/asr.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/iBEC.k94ap.RELEASE.patch b/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/iBEC.k94ap.RELEASE.patch deleted file mode 100644 index 9f936f2..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/iBEC.k94ap.RELEASE.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/iBSS.k94ap.RELEASE.patch b/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/iBSS.k94ap.RELEASE.patch deleted file mode 100644 index 65738f8..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,2_6.1.3_10B329.bundle/iBSS.k94ap.RELEASE.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/Info.plist b/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/Info.plist deleted file mode 100644 index d4b762b..0000000 --- a/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/Info.plist +++ /dev/null @@ -1,138 +0,0 @@ - - - - - RootFilesystem - 048-2653-005.dmg - RootFilesystemSize - 1071 - Filename - iPad2,3_6.1.3_10B329_Restore.ipsw - RamdiskMountVolume - ramdisk - Name - iPhone2,3_6.1.3_10B329 - SubPlatform - 6 - Platform - 1 - RamdiskOptionsPath - /usr/local/share/restore/options.k95.plist - SHA1 - b02a4f3f5b6b948bdcd036caee71449201e72f63 - BuildIdentitiesPatches - - UniqueBuildID - k8/0Wy73uXDFAc84NnXIXIXUnHI= - Manifest - - RestoreRamDisk - - Digest - soTe26MUEWqoKnxbAlm9uDrYEA4= - PartialDigest - QAAAAHhwMwEwggsDt8v7VOdjNK99c7EacJVHFA== - - - - RamdiskPatches - - asr - - File - usr/sbin/asr - Patch - asr.patch - - - DownloadUrl - - FilesystemPatches - - RootFilesystemMountVolume - BrightonMaps10B329.K95OS - FirmwarePatches - - iBSS - - File - Firmware/dfu/iBSS.k95ap.RELEASE.dfu - Key - 0bb841b8f1922ae73d85ed9ed0d7a3583a10af909787857c15af2691b39bba30 - Decrypt - - Patch - iBSS.k95ap.RELEASE.patch - IV - 56f964ee19bfd31f06e43e9d8fe93902 - TypeFlag - 8 - - iBEC - - File - Firmware/dfu/iBEC.k95ap.RELEASE.dfu - Key - 12805eb0cabe89539cfecbf886b0638a6fe941976ef9afe8bf3dc838139357ba - Decrypt - - Patch - iBEC.k95ap.RELEASE.patch - IV - 5aeb8eb73be0c634f9fa2a4eae791438 - TypeFlag - 8 - - RestoreDeviceTree - - File - Firmware/all_flash/all_flash.k95ap.production/DeviceTree.k95ap.img3 - Key - 8debb89e1457cc695e10891312bdbfbb4d5f40f7eaa6913dfe7dc61be6d9e5c7 - DecryptPath - Downgrade/DeviceTree.k95ap.img3 - IV - e28736e5e1a7c3fd31021398ed65af62 - - RestoreLogo - - File - Firmware/all_flash/all_flash.k95ap.production/applelogo.s5l8940x.img3 - Key - 0e7aa7bbcfddc88dfe0e56e021363028502621c52c709afc3744850977e2fb9f - DecryptPath - Downgrade/applelogo@2x.s5l8940x.img3 - IV - 623b2592ad563ea16bd8a86af6960bcb - - Restore Ramdisk - - File - 048-2516-005.dmg - Key - fd1188246393949c4ae81c302221019a2699dba6185cb1460e39ee80f1c7424a - Decrypt - - TypeFlag - 8 - IV - 4edaee1b65d86a5f9a16c3ef09b262bf - - RestoreKernelCache - - File - kernelcache.release.k95 - Key - 0e2f5fa117fa62535dc18ee0526137d6e73b4fc69edec9d99f1528f2a632fc83 - DecryptPath - Downgrade/kernelcache.release.k95 - TypeFlag - 4 - IV - 0cc133db4539b82dee5849d6abbcc467 - - - RootFilesystemKey - b51815b65f7e572ad0cc1238bf799edb558b602b0ee390a76cd874d714b7daf10205b195 - - diff --git a/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/asr.patch b/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/asr.patch deleted file mode 100644 index 5266c80..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/asr.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/iBEC.k95ap.RELEASE.patch b/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/iBEC.k95ap.RELEASE.patch deleted file mode 100644 index 24e225b..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/iBEC.k95ap.RELEASE.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/iBSS.k95ap.RELEASE.patch b/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/iBSS.k95ap.RELEASE.patch deleted file mode 100644 index 65738f8..0000000 Binary files a/resources/FirmwareBundles/Down_iPad2,3_6.1.3_10B329.bundle/iBSS.k95ap.RELEASE.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/Info.plist b/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/Info.plist deleted file mode 100644 index 023b8c3..0000000 --- a/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/Info.plist +++ /dev/null @@ -1,140 +0,0 @@ - - - - - RootFilesystem - 048-2613-005.dmg - RootFilesystemSize - 1220 - Filename - iPhone4,1_6.1.3_10B329_Restore.ipsw - RamdiskMountVolume - ramdisk - Name - iPhone4,1_6.1.3_10B329 - SubPlatform - 6 - Platform - 1 - RamdiskOptionsPath - /usr/local/share/restore/options.n94.plist - SHA1 - 7a62ee60b574301a6aafc48dcc9cccf0894ffb27 - BuildIdentitiesPatches - - UniqueBuildID - 3Usl6yRx4qezMq1vuVZf69RDnU8= - Manifest - - RestoreRamDisk - - Digest - soTe26MUEWqoKnxbAlm9uDrYEA4= - PartialDigest - QAAAAHhwMwEwggsDt8v7VOdjNK99c7EacJVHFA== - - - - RamdiskPatches - - asr - - File - usr/sbin/asr - Patch - asr.patch - - - DownloadUrl - - FilesystemPatches - - RootFilesystemMountVolume - BrightonMaps10B329.N94OS - UniqueBuildID - 3Usl6yRx4qezMq1vuVZf69RDnU8= - FirmwarePatches - - iBSS - - File - Firmware/dfu/iBSS.n94ap.RELEASE.dfu - Key - 35343d5139e0313c81ee59dbae292da26e739ed75b3da5db9da7d4d26046498c - Decrypt - - Patch - iBSS.n94ap.RELEASE.patch - IV - d3fe01e99bd0967e80dccfc0739f93d5 - TypeFlag - 8 - - iBEC - - File - Firmware/dfu/iBEC.n94ap.RELEASE.dfu - Key - aba0d7f3e2d40d2a0039a36086c469e25e1eafb2fee2f50e36a3e5f7cd4d89c9 - Decrypt - - Patch - iBEC.n94ap.RELEASE.patch - IV - 1f12075441b7f193c5967c51ede025bf - TypeFlag - 8 - - RestoreDeviceTree - - File - Firmware/all_flash/all_flash.n94ap.production/DeviceTree.n94ap.img3 - Key - bd500bdc2a66aba636311037b9bd2b6ab3bd7374542352225d5be0c23998dd84 - DecryptPath - Downgrade/DeviceTree.n94ap.img3 - IV - fabb698a3b2e845d7ad6849fbc067870 - - RestoreLogo - - File - Firmware/all_flash/all_flash.n94ap.production/applelogo@2x.s5l8940x.img3 - Key - e7e9b79f5e6e81ff6d6bf81bf272af56e6ab0f1c691088eff2aca5b1ee31455e - DecryptPath - Downgrade/applelogo@2x.s5l8940x.img3 - IV - 09678f1312084547b5bedce677e6a828 - - Restore Ramdisk - - File - 048-2516-005.dmg - Key - 1d8da07783a6f53efbb47657c352b305f0856697c6c824a9132ea0effe1a92a9 - Decrypt - - TypeFlag - 8 - IV - d30fa37b6ed56715121337a5fc039801 - - RestoreKernelCache - - File - kernelcache.release.n94 - Key - a374109c958957200f879f7b6ef34437fbde1a9f178b7c2412755cf9a3ed2d72 - DecryptPath - Downgrade/kernelcache.release.n94 - TypeFlag - 4 - IV - 8a2c03ef8a0e45947780cdde01be40fb - - - RootFilesystemKey - d4685a3c01a0b6f762350191d98b8964d4c7af349aa84bacef828be9683514ccf44a8426 - - diff --git a/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/asr.patch b/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/asr.patch deleted file mode 100644 index 5266c80..0000000 Binary files a/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/asr.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/iBEC.n94ap.RELEASE.patch b/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/iBEC.n94ap.RELEASE.patch deleted file mode 100644 index 0179cb7..0000000 Binary files a/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/iBEC.n94ap.RELEASE.patch and /dev/null differ diff --git a/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/iBSS.n94ap.RELEASE.patch b/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/iBSS.n94ap.RELEASE.patch deleted file mode 100644 index 0241517..0000000 Binary files a/resources/FirmwareBundles/Down_iPhone4,1_6.1.3_10B329.bundle/iBSS.n94ap.RELEASE.patch and /dev/null differ diff --git a/resources/jailbreak/etasonJB-untether.tar b/resources/jailbreak/etasonJB-untether.tar new file mode 100644 index 0000000..03b0ea7 Binary files /dev/null and b/resources/jailbreak/etasonJB-untether.tar differ diff --git a/resources/jailbreak/fstab.tar b/resources/jailbreak/fstab.tar new file mode 100644 index 0000000..30746fd Binary files /dev/null and b/resources/jailbreak/fstab.tar differ diff --git a/resources/jailbreak/fstab_rw.tar b/resources/jailbreak/fstab_rw.tar new file mode 100644 index 0000000..d6cba93 Binary files /dev/null and b/resources/jailbreak/fstab_rw.tar differ diff --git a/resources/jailbreak/p0sixspwn.tar b/resources/jailbreak/p0sixspwn.tar new file mode 100644 index 0000000..177e3db Binary files /dev/null and b/resources/jailbreak/p0sixspwn.tar differ diff --git a/restore.sh b/restore.sh index 4d78f85..655929d 100755 --- a/restore.sh +++ b/restore.sh @@ -174,7 +174,7 @@ function SelectVersion { fi if [ $ProductType == iPad2,1 ] || [ $ProductType == iPad2,2 ] || [ $ProductType == iPad2,3 ] || [ $ProductType == iPhone4,1 ]; then - Selection+=("iOS 6.1.3 (Jailbreak)" "iOS 6.1.3") + Selection+=("iOS 6.1.3") fi [[ $Mode == 'Downgrade' ]] && Selection+=("Other") Selection+=("(Any other key to exit)") @@ -182,12 +182,13 @@ function SelectVersion { select opt in "${Selection[@]}"; do case $opt in "iOS 8.4.1" ) OSVer='8.4.1'; BuildVer='12H321'; break;; - "iOS 6.1.3 (Jailbreak)" ) OSVer='6.1.3'; BuildVer='10B329'; A5Jailbreak=1; break;; "iOS 6.1.3" ) OSVer='6.1.3'; BuildVer='10B329'; break;; "Other" ) OSVer='Other'; break;; *) exit;; esac done + [[ -z $A7Device ]] && read -p "$(Input 'Jailbreak the selected iOS version? (y/N): ')" Jailbreak + [[ $Jailbreak == y ]] || [[ $Jailbreak == Y ]] && Jailbreak=1 Action } @@ -388,18 +389,26 @@ function Downgrade { [ ! $DFUManual ] && kDFU - if [[ $A5Jailbreak == 1 ]]; then - JBFiles=(Cydia6.tar fstab_rw.tar p0sixspwn.tar) - JBSHA1=(1d5a351016d2546aa9558bc86ce39186054dc281 - 887f82cb601116ee78ad752eca7007128b6b38d3 - 6b003d3baddbafed2b468ba11328374d2dab276b) - JBLink=https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/jailbreak - if [[ ! $(ls resources/jailbreak) ]]; then + # uses ipsw tool from OdysseusOTA/2 to create custom IPSW with jailbreak + if [[ $Jailbreak == 1 ]]; then + if [[ $OSVer == 8.4.1 ]]; then + JBFiles=(fstab.tar etasonJB-untether.tar Cydia8.tar) + JBSHA1=(5e5871aadeb0b958d577f43f6a04e1a2d04bf530 + b1cb2cb3c40fabeeee3a293d8f0e4e1f8f5de79a + 6459dbcbfe871056e6244d23b33c9b99aaeca970) + JBS=2265 + else + JBFiles=(fstab_rw.tar p0sixspwn.tar Cydia6.tar) + JBSHA1=(887f82cb601116ee78ad752eca7007128b6b38d3 + 6b003d3baddbafed2b468ba11328374d2dab276b + 1d5a351016d2546aa9558bc86ce39186054dc281) + JBS=1260 + fi + if [[ ! $(ls resources/jailbreak) ]] || [[ ! -e resources/jailbreak/${JBFiles[2]} ]]; then + mkdir tmp cd tmp Log "Downloading jailbreak files..." - for i in {0..2}; do - SaveFile $JBLink/${JBFiles[$i]} ${JBFiles[$i]} ${JBSHA1[$i]} - done + SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/jailbreak/${JBFiles[2]} ${JBFiles[2]} ${JBSHA1[2]} mkdir ../resources/jailbreak cp ${JBFiles[@]} ../resources/jailbreak cd .. @@ -408,11 +417,17 @@ function Downgrade { JBFiles[$i]=jailbreak/${JBFiles[$i]} done if [ ! -e $IPSWCustom.ipsw ]; then + Echo "* By default, memory option is set to Y, you may select N later if you encounter problems" + Echo "* If it doesn't work with both, you might not have enough RAM or tmp storage" + read -p "$(Input 'Memory option? (press ENTER if unsure) (Y/n): ')" JBMemory + [[ $JBMemory != n ]] && [[ $JBMemory != N ]] && JBMemory="-memory" || JBMemory= Log "Preparing custom IPSW..." cd resources - $ipsw ../$IPSW.ipsw ../$IPSWCustom.ipsw -memory -bbupdate -s 1260 ${JBFiles[@]} + ln -sf firmware/FirmwareBundles FirmwareBundles + $ipsw ../$IPSW.ipsw ../$IPSWCustom.ipsw $JBMemory -bbupdate -s $JBS ${JBFiles[@]} cd .. fi + [ ! -e $IPSWCustom.ipsw ] && Error "Failed to find custom IPSW. Please run the script again" "You may try selecting N for memory option" IPSW=$IPSWCustom fi @@ -462,14 +477,14 @@ function Downgrade { SaveOTABlobs fi - if [[ -z $A5Jailbreak ]] && [[ -z $A7Device ]]; then + if [[ -z $Jailbreak ]] && [[ -z $A7Device ]]; then Log "Preparing for futurerestore... (Enter root password of your PC/Mac when prompted)" cd resources sudo bash -c "$python -m SimpleHTTPServer 80 &" cd .. fi - if [[ $A5Jailbreak == 1 ]]; then + if [[ $Jailbreak == 1 ]]; then Log "Proceeding to idevicerestore..." mkdir shsh mv $SHSH shsh/${UniqueChipID}-${ProductType}-${OSVer}.shsh @@ -518,7 +533,7 @@ function Downgrade { echo Log "Restoring done!" - if [[ -z $A5Jailbreak ]] && [[ -z $A7Device ]]; then + if [[ -z $Jailbreak ]] && [[ -z $A7Device ]]; then Log "Stopping local server... (Enter root password of your PC/Mac when prompted)" ps aux | awk '/python/ {print "sudo kill -9 "$2" 2>/dev/null"}' | bash fi