diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa75527..c8eda05 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: - name: Download some files run: | pushd resources - curl -L https://github.com/LukeZGD/ipwndfu/archive/6e67c9e28a5f7f63f179dea670f7f858712350a0.zip -o ipwndfu.zip + curl -L https://github.com/LukeZGD/ipwndfu/archive/0883efd7de10e806e8d5e3d825950b04bb5a12b7.zip -o ipwndfu.zip curl -L https://github.com/LukeZGD/Legacy-iOS-Kit-Keys/archive/refs/heads/master.zip -o keys.zip unzip keys.zip -d . unzip ipwndfu.zip -d . diff --git a/README.md b/README.md index 4efc62d..4756719 100644 --- a/README.md +++ b/README.md @@ -9,21 +9,23 @@ ## Features - Restore to iOS 8.4.1 or 6.1.3 on supported 32-bit devices **(OTA signed)** -- Restore iPhone 4 GSM (iPhone3,1) to unsigned iOS versions **(powdersn0w)** -- Restore to iOS 10.3.3 on supported A7 devices **(OTA signed)** -- Option to **jailbreak** iOS 6.1.3 and 8.4.1 restores -- Restore to unsigned iOS versions **with SHSH blobs** -- Restore to unsigned iOS versions **with iOS 7.1.x blobs (powdersn0w)** +- Restore iPhone 4 GSM (iPhone3,1) to lower iOS versions **(powdersn0w)** +- Restore iPhone 3GS and iPod touch 2 to lower iOS versions **(24Kpwn/alloc8)** +- Restore 32-bit devices to lower iOS versions **with SHSH blobs** +- Restore 32-bit devices to lower iOS versions **with iOS 7.1.x blobs (powdersn0w)** - Device support is limited, see below -- The latest baseband will be used for 32-bit devices if applicable -- Place device to pwned iBSS/kDFU mode for 32-bit devices -- Clear NVRAM for devices that support powdersn0w -- Restore iPhone 4 to iOS 7.1.2 with the option to jailbreak -- Restore supported devices to their latest iOS version +- Option to **jailbreak** all of the above devices + - Including latest iOS versions for some devices (5.1.1, 6.1.6, 7.1.2) + - Available on target versions iOS 4.x to 7.x and 8.4.1 +- Restore to iOS 10.3.3 on supported A7 devices **(OTA signed)** +- Restore A7/A8 devices to lower iOS versions **with SHSH blobs** + - Limited compatibility due to SEP/BB, see below +- The latest baseband will be flashed for 32-bit devices if applicable - Save onboard and Cydia SHSH blobs for 32-bit devices +- Place device to pwned iBSS/kDFU mode for supported devices - Boot SSH Ramdisk on supported 32-bit devices -- Pwning supported iOS devices using limera1n or checkm8 with iPwnder/gaster -- Device activation using ideviceactivation on Linux +- Clear NVRAM for devices that support powdersn0w +- Device activation using ideviceactivation ## Supported devices - [Identify your device here](https://ipsw.me/device-finder) @@ -67,7 +69,8 @@ - Supports most 32-bit devices (iOS 3 to 10, version range depends on device) - iPhone 3GS, 4, 4S, 5, 5C - iPad 1, 2, 3, 4, mini 1 - - iPod touch 3, 4, 5 + - iPod touch 2, 3, 4, 5 + - S5L8900 devices will likely never be supported - Restoring with SHSH blobs is also supported on most A7/A8 devices: - See [SEP/BB Compatibility Chart](https://docs.google.com/spreadsheets/d/1Mb1UNm6g3yvdQD67M413GYSaJ4uoNhLgpkc7YKi3LBs/edit#gid=1191207636) for iOS versions - iPhone 5S, 6, 6 Plus @@ -77,6 +80,13 @@ - iPhone 4 GSM - targets iOS 4.3 to 6.1.3 - iPhone 4S, iPhone 5 (not 5C), iPad 2 Rev A, iPod 5th generation - targets iOS 5.0 to 6.1.3, 8.0 to 9.3.5 - Using powdersn0w requires iOS 7.1.x blobs for your device +- Restoring with 24Kpwn/alloc8 is supported on the following devices: + - iPhone 3GS - targets iOS 3.1.3 to 5.1.1 + - iPod touch 2 - targets iOS 3.1.3 to 4.0 +- Restoring to latest iOS version with jailbreak for the following devices: + - iPhone 4 - iOS 7.1.2 jailbroken with Pangu + - iPhone 3GS, iPod touch 4 - iOS 6.1.6 jailbroken with p0sixspwn + - iPad 1, iPod touch 3 - iOS 5.1.1 jailbroken with pris0nbarake ## Supported OS versions/distros @@ -107,7 +117,6 @@ - [futurerestore](https://github.com/tihmstar/futurerestore) - tihmstar; - [LukeZGD fork](https://github.com/LukeZGD/futurerestore) used on Linux for restoring 32-bit devices - [LukeeGD fork](https://github.com/LukeeGD/futurerestore) used on Linux/Windows for restoring A7/A8 devices - - [futurerestore](https://github.com/futurerestore/futurerestore/) v259 used on macOS - [iBoot32Patcher](https://github.com/dora2-iOS/iBoot32Patcher/) - dora2ios fork - [idevicerestore](https://github.com/libimobiledevice/idevicerestore) - libimobiledevice; [LukeZGD fork](https://github.com/LukeZGD/idevicerestore) - [idevicererestore](https://github.com/LukeZGD/daibutsuCFW/tree/main/src/idevicererestore) from daibutsuCFW (used on custom IPSW restores for A5/A6 devices) @@ -123,5 +132,7 @@ - [Pangu](https://www.theiphonewiki.com/wiki/Pangu) - [p0sixspwn](https://www.theiphonewiki.com/wiki/p0sixspwn) - [unthredeh4il](https://www.theiphonewiki.com/wiki/Unthredera1n#unthredeh4il) +- [evasi0n](https://www.theiphonewiki.com/wiki/Evasi0n) +- [pris0nbarake](https://github.com/LukeZGD/pris0nbarake) - LukeZGD fork - SSH Ramdisk tar from [SSH-Ramdisk-Maker-and-Loader](https://github.com/Ralph0045/SSH-Ramdisk-Maker-and-Loader) - Bootstrap tar from [SpiritNET](https://invoxiplaygames.uk/projects/spiritnet/) diff --git a/bin/linux/arm64/dmg b/bin/linux/arm64/dmg new file mode 100755 index 0000000..3a17a89 Binary files /dev/null and b/bin/linux/arm64/dmg differ diff --git a/bin/linux/arm64/ideviceactivation b/bin/linux/arm64/ideviceactivation new file mode 100755 index 0000000..516d668 Binary files /dev/null and b/bin/linux/arm64/ideviceactivation differ diff --git a/bin/linux/arm64/idevicerestore b/bin/linux/arm64/idevicerestore index c4d62df..be26dee 100755 Binary files a/bin/linux/arm64/idevicerestore and b/bin/linux/arm64/idevicerestore differ diff --git a/bin/linux/x86_64/dmg b/bin/linux/x86_64/dmg new file mode 100755 index 0000000..3ca5402 Binary files /dev/null and b/bin/linux/x86_64/dmg differ diff --git a/bin/linux/x86_64/idevicerestore b/bin/linux/x86_64/idevicerestore index 7019aa6..1a8b915 100755 Binary files a/bin/linux/x86_64/idevicerestore and b/bin/linux/x86_64/idevicerestore differ diff --git a/bin/macos/dmg b/bin/macos/dmg new file mode 100755 index 0000000..32dbb36 Binary files /dev/null and b/bin/macos/dmg differ diff --git a/bin/macos/futurerestore_arm64 b/bin/macos/futurerestore_arm64 deleted file mode 100755 index a10a39d..0000000 Binary files a/bin/macos/futurerestore_arm64 and /dev/null differ diff --git a/bin/macos/futurerestore_194 b/bin/macos/futurerestore_new similarity index 100% rename from bin/macos/futurerestore_194 rename to bin/macos/futurerestore_new diff --git a/bin/macos/futurerestore_old b/bin/macos/futurerestore_old new file mode 100755 index 0000000..08cc81b Binary files /dev/null and b/bin/macos/futurerestore_old differ diff --git a/bin/macos/futurerestore_x86_64 b/bin/macos/futurerestore_x86_64 deleted file mode 100755 index 03597d5..0000000 Binary files a/bin/macos/futurerestore_x86_64 and /dev/null differ diff --git a/bin/macos/ideviceactivation b/bin/macos/ideviceactivation new file mode 100755 index 0000000..034d12b Binary files /dev/null and b/bin/macos/ideviceactivation differ diff --git a/bin/macos/idevicererestore b/bin/macos/idevicererestore index 800314a..3dc1778 100755 Binary files a/bin/macos/idevicererestore and b/bin/macos/idevicererestore differ diff --git a/bin/macos/idevicerestore b/bin/macos/idevicerestore index 39da7ab..c1ceb41 100755 Binary files a/bin/macos/idevicerestore and b/bin/macos/idevicerestore differ diff --git a/bin/macos/ipwnder b/bin/macos/ipwnder index f3d7bb3..de13842 100755 Binary files a/bin/macos/ipwnder and b/bin/macos/ipwnder differ diff --git a/bin/macos/lib/libideviceactivation-1.0.2.dylib b/bin/macos/lib/libideviceactivation-1.0.2.dylib new file mode 100755 index 0000000..423e1bc Binary files /dev/null and b/bin/macos/lib/libideviceactivation-1.0.2.dylib differ diff --git a/bin/macos/lib/libimobiledevice-1.0.6.dylib b/bin/macos/lib/libimobiledevice-1.0.6.dylib new file mode 100755 index 0000000..2cfa258 Binary files /dev/null and b/bin/macos/lib/libimobiledevice-1.0.6.dylib differ diff --git a/bin/macos/lib/libimobiledevice-glue-1.0.0.dylib b/bin/macos/lib/libimobiledevice-glue-1.0.0.dylib new file mode 100755 index 0000000..8990895 Binary files /dev/null and b/bin/macos/lib/libimobiledevice-glue-1.0.0.dylib differ diff --git a/bin/macos/lib/libirecovery-1.0.3.dylib b/bin/macos/lib/libirecovery-1.0.3.dylib new file mode 100755 index 0000000..8318fbc Binary files /dev/null and b/bin/macos/lib/libirecovery-1.0.3.dylib differ diff --git a/bin/macos/lib/libplist-2.0.4.dylib b/bin/macos/lib/libplist-2.0.4.dylib new file mode 100755 index 0000000..508e34c Binary files /dev/null and b/bin/macos/lib/libplist-2.0.4.dylib differ diff --git a/bin/macos/lib/libusbmuxd-2.0.6.dylib b/bin/macos/lib/libusbmuxd-2.0.6.dylib new file mode 100755 index 0000000..0490517 Binary files /dev/null and b/bin/macos/lib/libusbmuxd-2.0.6.dylib differ diff --git a/bin/windows/dmg b/bin/windows/dmg new file mode 100644 index 0000000..038e589 Binary files /dev/null and b/bin/windows/dmg differ diff --git a/bin/windows/idevicerestore b/bin/windows/idevicerestore index 86a3c5e..b53d67a 100644 Binary files a/bin/windows/idevicerestore and b/bin/windows/idevicerestore differ diff --git a/bin/windows/xmlstarlet b/bin/windows/xmlstarlet deleted file mode 100644 index 830dc3f..0000000 Binary files a/bin/windows/xmlstarlet and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/Info.plist b/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/Info.plist deleted file mode 100644 index bd23a4b..0000000 --- a/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/Info.plist +++ /dev/null @@ -1,143 +0,0 @@ - - - - - FilesystemPatches - - FirmwarePatches - - RestoreKernelCache - - File - kernelcache.release.n90 - IV - a1aee41423e11a44135233dd345433ce - Key - 9b05ef79c63c59e71f253219ffaa952f25f6810d3863aac2b49628e64f9f0869 - - DecryptPath - Downgrade/kernelcache.release.n90 - TypeFlag - 4 - - - Restore Ramdisk - - File - 058-4107-013.dmg - IV - 4bd50f8abb89925f20793baac84ad76b - Key - 23582ce84d0149c1819b72948c6a55a155c1fa4366678a9e51a6f66f5a77de10 - Decrypt - - TypeFlag - 8 - - iBSS - - File - Firmware/dfu/iBSS.n90ap.RELEASE.dfu - IV - a5854328e525031dc205d6e476a8b1bb - Key - 23dda7990807b4225d589dc11099a4a8bd122089b93759d6356e9525f986584c - Patch - iBSS.n90ap.RELEASE.patch - Decrypt - - TypeFlag - 8 - - iBEC - - File - Firmware/dfu/iBEC.n90ap.RELEASE.dfu - IV - ca528426065da305c19476477a39ed18 - Key - 3273904a1cfd111a20d6a53f2636902db1193dad5f0acf3837dd7c79fb3b795f - Patch - iBEC.n90ap.RELEASE.patch - Decrypt - - TypeFlag - 8 - - RestoreDeviceTree - - File - Firmware/all_flash/all_flash.n90ap.production/DeviceTree.n90ap.img3 - IV - d2f224a2d7e04461ec12ac81f91d657a - Key - b93c3a564dc36e184871e246fa8df725ecebafb38c042b6302b333c39e7d1787 - DecryptPath - Downgrade/DeviceTree.n90ap.img3 - - RestoreLogo - - File - Firmware/all_flash/all_flash.n90ap.production/applelogo@2x~iphone.s5l8930x.img3 - IV - 2287b716b833ba84566cf365e3368d37 - Key - 73f0cef0f12ed5e43b53c87373a2be672481c4fc0f1f542c5e8da8b7d518611f - DecryptPath - Downgrade/applelogo@2x~iphone.s5l8930x.img3 - - - RamdiskPatches - - asr - - File - usr/sbin/asr - Patch - asr.patch - - - - RamdiskMountVolume - ramdisk - RamdiskOptionsPath - /usr/local/share/restore/options.n90.plist - RootFilesystem - 058-4520-010.dmg - RootFilesystemSize - 1531 - RootFilesystemKey - 38d0320d099b9dd34ffb3308c53d397f14955b347d6a433fe173acc2ced1ae78756b3684 - RootFilesystemMountVolume - Sochi11D257.N90OS - SHA1 - 81da17b3e893a61508fe203849b7e1f60e2127b1 - Filename - iPhone3,1_7.1.2_11D257_Restore.ipsw - Name - iPhone3,1_7.1.2_11D257 - DownloadUrl - - Platform - 1 - SubPlatform - 6 - - diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/asr.patch deleted file mode 100644 index 57b511f..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/asr.patch and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/iBEC.n90ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/iBEC.n90ap.RELEASE.patch deleted file mode 100644 index 5bae5b6..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/iBEC.n90ap.RELEASE.patch and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/iBSS.n90ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/iBSS.n90ap.RELEASE.patch deleted file mode 100644 index 71a86ae..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,1_7.1.2_11D257.bundle/iBSS.n90ap.RELEASE.patch and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/Info.plist b/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/Info.plist deleted file mode 100644 index 7248cab..0000000 --- a/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/Info.plist +++ /dev/null @@ -1,123 +0,0 @@ - - - - - DownloadUrl - - Filename - iPhone3,2_7.1.2_11D257_Restore.ipsw - FilesystemPatches - - FirmwarePatches - - Restore Ramdisk - - Decrypt - - File - 058-4107-013.dmg - IV - 4d45b18575f0e48ef0c1f1fea1663e0e - Key - 2ab11294614e2fda8e8c806208e3bd96337877673e166702e5f5df558da48b09 - TypeFlag - 8 - - RestoreDeviceTree - - DecryptPath - Downgrade/DeviceTree.n90bap.img3 - File - Firmware/all_flash/all_flash.n90bap.production/DeviceTree.n90bap.img3 - IV - 206e596d02d01842941d90ad71f4265f - Key - 38f09516b60d5d2839ac7ed8d6f288af53babf8d49d1b70bc509170c3dcd0f2a - - RestoreKernelCache - - DecryptPath - Downgrade/kernelcache.release.n90b - File - kernelcache.release.n90b - IV - 054fa7c7537f0d7f5271349656d729e6 - Key - f24fa28626283eb1e252fec878ab0716d0fd7b6e62cf114fcd1ce132ba96d633 - TypeFlag - 4 - - RestoreLogo - - DecryptPath - Downgrade/applelogo@2x~iphone.s5l8930x.img3 - File - Firmware/all_flash/all_flash.n90bap.production/applelogo@2x~iphone.s5l8930x.img3 - IV - 2287b716b833ba84566cf365e3368d37 - Key - 2ab11294614e2fda8e8c806208e3bd96337877673e166702e5f5df558da48b09 - - iBEC - - Decrypt - - File - Firmware/dfu/iBEC.n90bap.RELEASE.dfu - IV - a6ff0ef84ca1c536f540b81c0c858858 - Key - 45f08035e58d63e6426f1b81fa760e6019b37a42c5286b108b4c37f58e0bc06b - Patch - iBEC.n90bap.RELEASE.patch - TypeFlag - 8 - - iBSS - - Decrypt - - File - Firmware/dfu/iBSS.n90bap.RELEASE.dfu - IV - a5e8a7cd8e659db3b6f983409b98b66c - Key - 42865aa964f0cba160d173794530e40e46910e14383f3ac9d24cd650ebdb9926 - Patch - iBSS.n90bap.RELEASE.patch - TypeFlag - 8 - - - Name - iPhone3,2_7.1.2_11D257 - Platform - 1 - RamdiskMountVolume - ramdisk - RamdiskOptionsPath - /usr/local/share/restore/options.n90b.plist - RamdiskPatches - - asr - - File - usr/sbin/asr - Patch - asr.patch - - - RootFilesystem - 058-4498-010.dmg - RootFilesystemKey - 10a8d34290659b33117f5b6dfe59055d6a38400819dbbecfd3ad50b7b68619c5bf10f852 - RootFilesystemMountVolume - Sochi11D257.N90bOS - RootFilesystemSize - 1515 - SHA1 - b3c0c0adc95ae2ae1184e9aa111845cd705975d9 - SubPlatform - 6 - - diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/asr.patch deleted file mode 100644 index 02b195e..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/asr.patch and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/iBEC.n90bap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/iBEC.n90bap.RELEASE.patch deleted file mode 100644 index c56face..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/iBEC.n90bap.RELEASE.patch and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/iBSS.n90bap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/iBSS.n90bap.RELEASE.patch deleted file mode 100644 index 71a86ae..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,2_7.1.2_11D257.bundle/iBSS.n90bap.RELEASE.patch and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/Info.plist b/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/Info.plist deleted file mode 100644 index 4fd8c3c..0000000 --- a/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/Info.plist +++ /dev/null @@ -1,143 +0,0 @@ - - - - - FilesystemPatches - - FirmwarePatches - - RestoreKernelCache - - File - kernelcache.release.n92 - IV - b84212f017d5ffd962db0bbe050581dc - Key - 92e5720cadf724cdf428d44119b634ab3346aef1ab4e3e20abc8ecb73f7f8642 - - DecryptPath - Downgrade/kernelcache.release.n92 - TypeFlag - 4 - - - Restore Ramdisk - - File - 058-4107-013.dmg - IV - e6562294eb9989aaca7fda5b57065fde - Key - ad5cfa520f1018d4083710011f627107389785f425303938e5412dff1aee65bb - Decrypt - - TypeFlag - 8 - - iBSS - - File - Firmware/dfu/iBSS.n92ap.RELEASE.dfu - IV - f5f67870c11f90c5f0f416df89618470 - Key - 579c6275ac9835fe7a4c148ee1e6af5289431996d51fa145a8d5bc438559bdb1 - Patch - iBSS.n92ap.RELEASE.patch - Decrypt - - TypeFlag - 8 - - iBEC - - File - Firmware/dfu/iBEC.n92ap.RELEASE.dfu - IV - 858cc5776b240dd9c5eac82e56dd6706 - Key - 97c37caee1839d5bf6a51a5d7fbdd5b24d6e4fc50a151d82dd66777825e0efab - Patch - iBEC.n92ap.RELEASE.patch - Decrypt - - TypeFlag - 8 - - RestoreDeviceTree - - File - Firmware/all_flash/all_flash.n92ap.production/DeviceTree.n92ap.img3 - IV - 8662383170bb93fffe2dbdd181a620da - Key - 8473b8932e1957c1e650f15cb3b6f49f497e241ebacfaa7d0b1eca3b15fc633c - DecryptPath - Downgrade/DeviceTree.n92ap.img3 - - RestoreLogo - - File - Firmware/all_flash/all_flash.n92ap.production/applelogo@2x~iphone.s5l8930x.img3 - IV - 2287b716b833ba84566cf365e3368d37 - Key - 73f0cef0f12ed5e43b53c87373a2be672481c4fc0f1f542c5e8da8b7d518611f - DecryptPath - Downgrade/applelogo@2x~iphone.s5l8930x.img3 - - - RamdiskPatches - - asr - - File - usr/sbin/asr - Patch - asr.patch - - - - RamdiskMountVolume - ramdisk - RamdiskOptionsPath - /usr/local/share/restore/options.n92.plist - RootFilesystem - 058-4110-009.dmg - RootFilesystemSize - 1522 - RootFilesystemKey - 423b3503689b7058d1398d1b5d56a7b1ccf4d79e1c3e6ba853122b4f86820a9e3bc911f6 - RootFilesystemMountVolume - Sochi11D257.N92OS - SHA1 - aaeda3c8e1979189faa153cdf43e817a3f81f74c - Filename - iPhone3,3_7.1.2_11D257_Restore.ipsw - Name - iPhone3,3_7.1.2_11D257 - DownloadUrl - - Platform - 1 - SubPlatform - 6 - - diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/asr.patch deleted file mode 100644 index 57b511f..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/asr.patch and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/iBEC.n92ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/iBEC.n92ap.RELEASE.patch deleted file mode 100644 index e83fd00..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/iBEC.n92ap.RELEASE.patch and /dev/null differ diff --git a/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/iBSS.n92ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/iBSS.n92ap.RELEASE.patch deleted file mode 100644 index 71a86ae..0000000 Binary files a/resources/firmware/FirmwareBundles/Down_iPhone3,3_7.1.2_11D257.bundle/iBSS.n92ap.RELEASE.patch and /dev/null differ diff --git a/resources/firmware/iPhone2,1/7E18/sha1sum b/resources/firmware/iPhone2,1/7E18/sha1sum new file mode 100644 index 0000000..b229562 --- /dev/null +++ b/resources/firmware/iPhone2,1/7E18/sha1sum @@ -0,0 +1 @@ +8cb3775e62c6f72059a962bf891b4e145b965052 \ No newline at end of file diff --git a/resources/firmware/iPhone2,1/7E18/url b/resources/firmware/iPhone2,1/7E18/url new file mode 100644 index 0000000..07088fb --- /dev/null +++ b/resources/firmware/iPhone2,1/7E18/url @@ -0,0 +1 @@ +http://appldnld.apple.com/iPhone/061-7472.20100202.8tugj/iPhone2,1_3.1.3_7E18_Restore.ipsw diff --git a/resources/firmware/iPhone2,1/8A293/sha1sum b/resources/firmware/iPhone2,1/8A293/sha1sum new file mode 100644 index 0000000..6107ef9 --- /dev/null +++ b/resources/firmware/iPhone2,1/8A293/sha1sum @@ -0,0 +1 @@ +e065245874c73510ceb8fa4bd9388b60d46eb252 \ No newline at end of file diff --git a/resources/firmware/iPhone2,1/8A293/url b/resources/firmware/iPhone2,1/8A293/url new file mode 100644 index 0000000..1497cca --- /dev/null +++ b/resources/firmware/iPhone2,1/8A293/url @@ -0,0 +1 @@ +http://appldnld.apple.com/iPhone4/061-7437.20100621.5urG8/iPhone2,1_4.0_8A293_Restore.ipsw diff --git a/resources/firmware/iPhone2,1/8J2/sha1sum b/resources/firmware/iPhone2,1/8J2/sha1sum new file mode 100644 index 0000000..2059fd9 --- /dev/null +++ b/resources/firmware/iPhone2,1/8J2/sha1sum @@ -0,0 +1 @@ +027aaf90744076551a93a7f78e9aae2c740f3b40 diff --git a/resources/firmware/iPhone2,1/8J2/url b/resources/firmware/iPhone2,1/8J2/url new file mode 100644 index 0000000..93a6078 --- /dev/null +++ b/resources/firmware/iPhone2,1/8J2/url @@ -0,0 +1 @@ +http://appldnld.apple.com/iPhone4/041-1009.20110503.M73Yr/iPhone2,1_4.3.3_8J2_Restore.ipsw diff --git a/resources/firmware/iPhone2,1/9B206/sha1sum b/resources/firmware/iPhone2,1/9B206/sha1sum new file mode 100644 index 0000000..2f23664 --- /dev/null +++ b/resources/firmware/iPhone2,1/9B206/sha1sum @@ -0,0 +1 @@ +2a35ac00cd00c4bc499a971391b99471bf2fdd05 diff --git a/resources/firmware/iPhone2,1/9B206/url b/resources/firmware/iPhone2,1/9B206/url new file mode 100644 index 0000000..e222d79 --- /dev/null +++ b/resources/firmware/iPhone2,1/9B206/url @@ -0,0 +1 @@ +http://appldnld.apple.com/iOS5.1.1/041-4347.20120427.o2yov/iPhone2,1_5.1.1_9B206_Restore.ipsw diff --git a/resources/firmware/iPod2,1/7E18/sha1sum b/resources/firmware/iPod2,1/7E18/sha1sum new file mode 100644 index 0000000..af501ad --- /dev/null +++ b/resources/firmware/iPod2,1/7E18/sha1sum @@ -0,0 +1 @@ +5f4f5c01eda2f811f73167e7d1f82dbeed82367b \ No newline at end of file diff --git a/resources/firmware/iPod2,1/7E18/url b/resources/firmware/iPod2,1/7E18/url new file mode 100644 index 0000000..b698ead --- /dev/null +++ b/resources/firmware/iPod2,1/7E18/url @@ -0,0 +1 @@ +https://invoxiplaygames.uk/ipsw/iPod2,1_3.1.3_7E18_Restore.ipsw \ No newline at end of file diff --git a/resources/firmware/iPod2,1/8A293/sha1sum b/resources/firmware/iPod2,1/8A293/sha1sum new file mode 100644 index 0000000..a6064a9 --- /dev/null +++ b/resources/firmware/iPod2,1/8A293/sha1sum @@ -0,0 +1 @@ +c026c373bc535496a6f901de2ba37d4a487413bf \ No newline at end of file diff --git a/resources/firmware/iPod2,1/8A293/url b/resources/firmware/iPod2,1/8A293/url new file mode 100644 index 0000000..9cd1e60 --- /dev/null +++ b/resources/firmware/iPod2,1/8A293/url @@ -0,0 +1 @@ +http://appldnld.apple.com/iPhone4/061-7435.20100621.tr49t/iPod2,1_4.0_8A293_Restore.ipsw diff --git a/resources/firmware/iPod2,1/8B117/sha1sum b/resources/firmware/iPod2,1/8B117/sha1sum new file mode 100644 index 0000000..f0c82f6 --- /dev/null +++ b/resources/firmware/iPod2,1/8B117/sha1sum @@ -0,0 +1 @@ +97abde6207660bd876fd476275dd526d0dcf3d19 \ No newline at end of file diff --git a/resources/firmware/iPod2,1/8B117/url b/resources/firmware/iPod2,1/8B117/url new file mode 100644 index 0000000..49e6d43 --- /dev/null +++ b/resources/firmware/iPod2,1/8B117/url @@ -0,0 +1 @@ +http://appldnld.apple.com/iPhone4/061-7937.20100908.ghj4f/iPod2,1_4.1_8B117_Restore.ipsw diff --git a/resources/firmware/iPod2,1/8C148/sha1sum b/resources/firmware/iPod2,1/8C148/sha1sum new file mode 100644 index 0000000..e236314 --- /dev/null +++ b/resources/firmware/iPod2,1/8C148/sha1sum @@ -0,0 +1 @@ +b9efddc7bb4350c237a8d3846af61bbfc8a2f647 diff --git a/resources/firmware/iPod2,1/8C148/url b/resources/firmware/iPod2,1/8C148/url new file mode 100644 index 0000000..adc696e --- /dev/null +++ b/resources/firmware/iPod2,1/8C148/url @@ -0,0 +1 @@ +http://appldnld.apple.com/iPhone4/061-9855.20101122.Lrft6/iPod2,1_4.2.1_8C148_Restore.ipsw diff --git a/resources/firmware/iPod2,1/hwmodel b/resources/firmware/iPod2,1/hwmodel new file mode 100644 index 0000000..de68bcd --- /dev/null +++ b/resources/firmware/iPod2,1/hwmodel @@ -0,0 +1 @@ +n72 diff --git a/resources/firmware/iPod3,1/8B117/sha1sum b/resources/firmware/iPod3,1/8B117/sha1sum new file mode 100644 index 0000000..6837464 --- /dev/null +++ b/resources/firmware/iPod3,1/8B117/sha1sum @@ -0,0 +1 @@ +3162bad4060b7a58c9942ddb483e5bd9bcc5269f \ No newline at end of file diff --git a/resources/firmware/iPod3,1/8B117/url b/resources/firmware/iPod3,1/8B117/url new file mode 100644 index 0000000..c891e4a --- /dev/null +++ b/resources/firmware/iPod3,1/8B117/url @@ -0,0 +1 @@ +http://appldnld.apple.com/iPhone4/061-7941.20100908.sV9KE/iPod3,1_4.1_8B117_Restore.ipsw diff --git a/resources/jailbreak/bin.tar b/resources/jailbreak/daibutsu/bin.tar similarity index 100% rename from resources/jailbreak/bin.tar rename to resources/jailbreak/daibutsu/bin.tar diff --git a/resources/jailbreak/untether.tar b/resources/jailbreak/daibutsu/untether.tar similarity index 100% rename from resources/jailbreak/untether.tar rename to resources/jailbreak/daibutsu/untether.tar diff --git a/resources/jailbreak/evasi0n7-untether.tar b/resources/jailbreak/evasi0n7-untether.tar new file mode 100644 index 0000000..c4afe1c Binary files /dev/null and b/resources/jailbreak/evasi0n7-untether.tar differ diff --git a/resources/jailbreak/fstab_old b/resources/jailbreak/fstab_old new file mode 100644 index 0000000..7abaa21 --- /dev/null +++ b/resources/jailbreak/fstab_old @@ -0,0 +1,2 @@ +/dev/disk0s1 / hfs rw 0 1 +/dev/disk0s2 /private/var hfs rw 0 2 diff --git a/resources/jailbreak/pris0nbarake/tar-j1_9B176.tar b/resources/jailbreak/pris0nbarake/tar-j1_9B176.tar new file mode 100644 index 0000000..783803b Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-j1_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-j1_9B206.tar b/resources/jailbreak/pris0nbarake/tar-j1_9B206.tar new file mode 100644 index 0000000..0b76870 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-j1_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-j2_9B176.tar b/resources/jailbreak/pris0nbarake/tar-j2_9B176.tar new file mode 100644 index 0000000..8767aab Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-j2_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-j2_9B206.tar b/resources/jailbreak/pris0nbarake/tar-j2_9B206.tar new file mode 100644 index 0000000..d34f12f Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-j2_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-j2a_9B176.tar b/resources/jailbreak/pris0nbarake/tar-j2a_9B176.tar new file mode 100644 index 0000000..e6f2e01 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-j2a_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-j2a_9B206.tar b/resources/jailbreak/pris0nbarake/tar-j2a_9B206.tar new file mode 100644 index 0000000..3ff2575 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-j2a_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k48_9A334.tar b/resources/jailbreak/pris0nbarake/tar-k48_9A334.tar new file mode 100644 index 0000000..7dd18d6 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k48_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k48_9A405.tar b/resources/jailbreak/pris0nbarake/tar-k48_9A405.tar new file mode 100644 index 0000000..92fc864 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k48_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k48_9B176.tar b/resources/jailbreak/pris0nbarake/tar-k48_9B176.tar new file mode 100644 index 0000000..ee562ff Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k48_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k48_9B206.tar b/resources/jailbreak/pris0nbarake/tar-k48_9B206.tar new file mode 100644 index 0000000..cb64c15 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k48_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k93_9A334.tar b/resources/jailbreak/pris0nbarake/tar-k93_9A334.tar new file mode 100644 index 0000000..680d3c0 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k93_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k93_9A405.tar b/resources/jailbreak/pris0nbarake/tar-k93_9A405.tar new file mode 100644 index 0000000..3086f25 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k93_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k93_9B176.tar b/resources/jailbreak/pris0nbarake/tar-k93_9B176.tar new file mode 100644 index 0000000..aaaca04 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k93_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k93_9B206.tar b/resources/jailbreak/pris0nbarake/tar-k93_9B206.tar new file mode 100644 index 0000000..b940432 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k93_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k93a_9B176.tar b/resources/jailbreak/pris0nbarake/tar-k93a_9B176.tar new file mode 100644 index 0000000..8759aab Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k93a_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k93a_9B206.tar b/resources/jailbreak/pris0nbarake/tar-k93a_9B206.tar new file mode 100644 index 0000000..014c32e Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k93a_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k94_9A334.tar b/resources/jailbreak/pris0nbarake/tar-k94_9A334.tar new file mode 100644 index 0000000..6e3e362 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k94_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k94_9A405.tar b/resources/jailbreak/pris0nbarake/tar-k94_9A405.tar new file mode 100644 index 0000000..683b76a Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k94_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k94_9B176.tar b/resources/jailbreak/pris0nbarake/tar-k94_9B176.tar new file mode 100644 index 0000000..d1d7121 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k94_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k94_9B206.tar b/resources/jailbreak/pris0nbarake/tar-k94_9B206.tar new file mode 100644 index 0000000..10139b8 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k94_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k95_9A334.tar b/resources/jailbreak/pris0nbarake/tar-k95_9A334.tar new file mode 100644 index 0000000..05b7f1f Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k95_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k95_9A405.tar b/resources/jailbreak/pris0nbarake/tar-k95_9A405.tar new file mode 100644 index 0000000..b10674b Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k95_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k95_9B176.tar b/resources/jailbreak/pris0nbarake/tar-k95_9B176.tar new file mode 100644 index 0000000..daac0a4 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k95_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-k95_9B206.tar b/resources/jailbreak/pris0nbarake/tar-k95_9B206.tar new file mode 100644 index 0000000..90f22d6 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-k95_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n18_9A334.tar b/resources/jailbreak/pris0nbarake/tar-n18_9A334.tar new file mode 100644 index 0000000..631247b Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n18_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n18_9A405.tar b/resources/jailbreak/pris0nbarake/tar-n18_9A405.tar new file mode 100644 index 0000000..8d0a2ad Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n18_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n18_9B176.tar b/resources/jailbreak/pris0nbarake/tar-n18_9B176.tar new file mode 100644 index 0000000..5076b0d Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n18_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n18_9B206.tar b/resources/jailbreak/pris0nbarake/tar-n18_9B206.tar new file mode 100644 index 0000000..70a5485 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n18_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n81_9A334.tar b/resources/jailbreak/pris0nbarake/tar-n81_9A334.tar new file mode 100644 index 0000000..b722e36 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n81_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n81_9A405.tar b/resources/jailbreak/pris0nbarake/tar-n81_9A405.tar new file mode 100644 index 0000000..f1bf957 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n81_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n81_9B176.tar b/resources/jailbreak/pris0nbarake/tar-n81_9B176.tar new file mode 100644 index 0000000..4800477 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n81_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n81_9B206.tar b/resources/jailbreak/pris0nbarake/tar-n81_9B206.tar new file mode 100644 index 0000000..cf3b4e0 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n81_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n88_9A334.tar b/resources/jailbreak/pris0nbarake/tar-n88_9A334.tar new file mode 100644 index 0000000..6daaa8d Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n88_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n88_9A405.tar b/resources/jailbreak/pris0nbarake/tar-n88_9A405.tar new file mode 100644 index 0000000..612a177 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n88_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n88_9B176.tar b/resources/jailbreak/pris0nbarake/tar-n88_9B176.tar new file mode 100644 index 0000000..15525b1 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n88_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n88_9B206.tar b/resources/jailbreak/pris0nbarake/tar-n88_9B206.tar new file mode 100644 index 0000000..0c6d592 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n88_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n90_9A334.tar b/resources/jailbreak/pris0nbarake/tar-n90_9A334.tar new file mode 100644 index 0000000..570335c Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n90_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n90_9A405.tar b/resources/jailbreak/pris0nbarake/tar-n90_9A405.tar new file mode 100644 index 0000000..82e02a4 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n90_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n90_9B176.tar b/resources/jailbreak/pris0nbarake/tar-n90_9B176.tar new file mode 100644 index 0000000..129d7c0 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n90_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n90_9B206.tar b/resources/jailbreak/pris0nbarake/tar-n90_9B206.tar new file mode 100644 index 0000000..2c00ec4 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n90_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n90_9B208.tar b/resources/jailbreak/pris0nbarake/tar-n90_9B208.tar new file mode 100644 index 0000000..8740c5d Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n90_9B208.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n92_9A334.tar b/resources/jailbreak/pris0nbarake/tar-n92_9A334.tar new file mode 100644 index 0000000..cbcd726 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n92_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n92_9A405.tar b/resources/jailbreak/pris0nbarake/tar-n92_9A405.tar new file mode 100644 index 0000000..67a850d Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n92_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n92_9B176.tar b/resources/jailbreak/pris0nbarake/tar-n92_9B176.tar new file mode 100644 index 0000000..7a3a75e Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n92_9B176.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n92_9B206.tar b/resources/jailbreak/pris0nbarake/tar-n92_9B206.tar new file mode 100644 index 0000000..056ad0b Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n92_9B206.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n94_9A334.tar b/resources/jailbreak/pris0nbarake/tar-n94_9A334.tar new file mode 100644 index 0000000..9e5eb0e Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n94_9A334.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n94_9A405.tar b/resources/jailbreak/pris0nbarake/tar-n94_9A405.tar new file mode 100644 index 0000000..1f4a397 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n94_9A405.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n94_9A406.tar b/resources/jailbreak/pris0nbarake/tar-n94_9A406.tar new file mode 100644 index 0000000..385c794 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n94_9A406.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n94_9B179.tar b/resources/jailbreak/pris0nbarake/tar-n94_9B179.tar new file mode 100644 index 0000000..c32fd8f Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n94_9B179.tar differ diff --git a/resources/jailbreak/pris0nbarake/tar-n94_9B206.tar b/resources/jailbreak/pris0nbarake/tar-n94_9B206.tar new file mode 100644 index 0000000..abefdb9 Binary files /dev/null and b/resources/jailbreak/pris0nbarake/tar-n94_9B206.tar differ diff --git a/resources/patch/24Kpwn/iPhone2,1/3.1.3/018-6495-022.dmg.patch b/resources/patch/24Kpwn/iPhone2,1/3.1.3/018-6495-022.dmg.patch new file mode 100644 index 0000000..e61cdff Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/3.1.3/018-6495-022.dmg.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/3.1.3/LLB.n88ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPhone2,1/3.1.3/LLB.n88ap.RELEASE.img3.patch new file mode 100644 index 0000000..42846db Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/3.1.3/LLB.n88ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/3.1.3/iBSS.n88ap.RELEASE.dfu.patch b/resources/patch/24Kpwn/iPhone2,1/3.1.3/iBSS.n88ap.RELEASE.dfu.patch new file mode 100644 index 0000000..30f1a8e Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/3.1.3/iBSS.n88ap.RELEASE.dfu.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/3.1.3/iBoot.n88ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPhone2,1/3.1.3/iBoot.n88ap.RELEASE.img3.patch new file mode 100644 index 0000000..ec9a2e7 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/3.1.3/iBoot.n88ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/3.1.3/kernelcache.release.s5l8920x.patch b/resources/patch/24Kpwn/iPhone2,1/3.1.3/kernelcache.release.s5l8920x.patch new file mode 100644 index 0000000..832d023 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/3.1.3/kernelcache.release.s5l8920x.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.0/018-6461-399.dmg.patch b/resources/patch/24Kpwn/iPhone2,1/4.0/018-6461-399.dmg.patch new file mode 100644 index 0000000..93102f6 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.0/018-6461-399.dmg.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.0/LLB.n88ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPhone2,1/4.0/LLB.n88ap.RELEASE.img3.patch new file mode 100644 index 0000000..05bab33 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.0/LLB.n88ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.0/iBSS.n88ap.RELEASE.dfu.patch b/resources/patch/24Kpwn/iPhone2,1/4.0/iBSS.n88ap.RELEASE.dfu.patch new file mode 100644 index 0000000..16e03ab Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.0/iBSS.n88ap.RELEASE.dfu.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.0/iBoot.n88ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPhone2,1/4.0/iBoot.n88ap.RELEASE.img3.patch new file mode 100644 index 0000000..e18189e Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.0/iBoot.n88ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.0/kernelcache.release.n88.patch b/resources/patch/24Kpwn/iPhone2,1/4.0/kernelcache.release.n88.patch new file mode 100644 index 0000000..4256301 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.0/kernelcache.release.n88.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.3.3/038-1447-003.dmg.patch b/resources/patch/24Kpwn/iPhone2,1/4.3.3/038-1447-003.dmg.patch new file mode 100644 index 0000000..e434cf3 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.3.3/038-1447-003.dmg.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.3.3/LLB.n88ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPhone2,1/4.3.3/LLB.n88ap.RELEASE.img3.patch new file mode 100644 index 0000000..4c0f36b Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.3.3/LLB.n88ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.3.3/iBSS.n88ap.RELEASE.dfu.patch b/resources/patch/24Kpwn/iPhone2,1/4.3.3/iBSS.n88ap.RELEASE.dfu.patch new file mode 100644 index 0000000..52575d6 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.3.3/iBSS.n88ap.RELEASE.dfu.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.3.3/iBoot.n88ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPhone2,1/4.3.3/iBoot.n88ap.RELEASE.img3.patch new file mode 100644 index 0000000..1e00186 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.3.3/iBoot.n88ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/4.3.3/kernelcache.release.n88.patch b/resources/patch/24Kpwn/iPhone2,1/4.3.3/kernelcache.release.n88.patch new file mode 100644 index 0000000..cca5744 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/4.3.3/kernelcache.release.n88.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/5.1.1/038-4349-020.dmg.patch b/resources/patch/24Kpwn/iPhone2,1/5.1.1/038-4349-020.dmg.patch new file mode 100644 index 0000000..131516f Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/5.1.1/038-4349-020.dmg.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/5.1.1/LLB.n88ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPhone2,1/5.1.1/LLB.n88ap.RELEASE.img3.patch new file mode 100644 index 0000000..92254d9 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/5.1.1/LLB.n88ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBEC.n88ap.RELEASE.dfu.patch b/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBEC.n88ap.RELEASE.dfu.patch new file mode 100644 index 0000000..dc6e645 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBEC.n88ap.RELEASE.dfu.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBSS.n88ap.RELEASE.dfu.patch b/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBSS.n88ap.RELEASE.dfu.patch new file mode 100644 index 0000000..b66f1c6 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBSS.n88ap.RELEASE.dfu.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBoot.n88ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBoot.n88ap.RELEASE.img3.patch new file mode 100644 index 0000000..4b659e3 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/5.1.1/iBoot.n88ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPhone2,1/5.1.1/kernelcache.release.n88.patch b/resources/patch/24Kpwn/iPhone2,1/5.1.1/kernelcache.release.n88.patch new file mode 100644 index 0000000..ee097c6 Binary files /dev/null and b/resources/patch/24Kpwn/iPhone2,1/5.1.1/kernelcache.release.n88.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/3.1.3/018-6508-014.dmg.patch b/resources/patch/24Kpwn/iPod2,1/3.1.3/018-6508-014.dmg.patch new file mode 100644 index 0000000..3cc0fa2 Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/3.1.3/018-6508-014.dmg.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/3.1.3/LLB.n72ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPod2,1/3.1.3/LLB.n72ap.RELEASE.img3.patch new file mode 100644 index 0000000..d9e0b23 Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/3.1.3/LLB.n72ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/3.1.3/iBSS.n72ap.RELEASE.dfu.patch b/resources/patch/24Kpwn/iPod2,1/3.1.3/iBSS.n72ap.RELEASE.dfu.patch new file mode 100644 index 0000000..f129941 Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/3.1.3/iBSS.n72ap.RELEASE.dfu.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/3.1.3/iBoot.n72ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPod2,1/3.1.3/iBoot.n72ap.RELEASE.img3.patch new file mode 100644 index 0000000..8701409 Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/3.1.3/iBoot.n72ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/3.1.3/kernelcache.release.s5l8720x.patch b/resources/patch/24Kpwn/iPod2,1/3.1.3/kernelcache.release.s5l8720x.patch new file mode 100644 index 0000000..892b711 Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/3.1.3/kernelcache.release.s5l8720x.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/4.0/018-6462-368.dmg.patch b/resources/patch/24Kpwn/iPod2,1/4.0/018-6462-368.dmg.patch new file mode 100644 index 0000000..f25c074 Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/4.0/018-6462-368.dmg.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/4.0/LLB.n72ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPod2,1/4.0/LLB.n72ap.RELEASE.img3.patch new file mode 100644 index 0000000..81d1067 Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/4.0/LLB.n72ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/4.0/iBSS.n72ap.RELEASE.dfu.patch b/resources/patch/24Kpwn/iPod2,1/4.0/iBSS.n72ap.RELEASE.dfu.patch new file mode 100644 index 0000000..d6a516b Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/4.0/iBSS.n72ap.RELEASE.dfu.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/4.0/iBoot.n72ap.RELEASE.img3.patch b/resources/patch/24Kpwn/iPod2,1/4.0/iBoot.n72ap.RELEASE.img3.patch new file mode 100644 index 0000000..84cf1b1 Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/4.0/iBoot.n72ap.RELEASE.img3.patch differ diff --git a/resources/patch/24Kpwn/iPod2,1/4.0/kernelcache.release.n72.patch b/resources/patch/24Kpwn/iPod2,1/4.0/kernelcache.release.n72.patch new file mode 100644 index 0000000..46f0ecb Binary files /dev/null and b/resources/patch/24Kpwn/iPod2,1/4.0/kernelcache.release.n72.patch differ diff --git a/resources/patch/iBEC.j1ap.RELEASE.patch b/resources/patch/iBEC.j1ap.RELEASE.patch deleted file mode 100644 index ba5fd13..0000000 Binary files a/resources/patch/iBEC.j1ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.j2.RELEASE.patch b/resources/patch/iBEC.j2.RELEASE.patch deleted file mode 100644 index dad18fe..0000000 Binary files a/resources/patch/iBEC.j2.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.j2aap.RELEASE.patch b/resources/patch/iBEC.j2aap.RELEASE.patch deleted file mode 100644 index 1b5463a..0000000 Binary files a/resources/patch/iBEC.j2aap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.k93aap.RELEASE.patch b/resources/patch/iBEC.k93aap.RELEASE.patch deleted file mode 100644 index 8a81d39..0000000 Binary files a/resources/patch/iBEC.k93aap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.k93ap.RELEASE.patch b/resources/patch/iBEC.k93ap.RELEASE.patch deleted file mode 100644 index 0eba4eb..0000000 Binary files a/resources/patch/iBEC.k93ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.k94ap.RELEASE.patch b/resources/patch/iBEC.k94ap.RELEASE.patch deleted file mode 100644 index f44cfe5..0000000 Binary files a/resources/patch/iBEC.k94ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.k95.RELEASE.patch b/resources/patch/iBEC.k95.RELEASE.patch deleted file mode 100644 index ea16d64..0000000 Binary files a/resources/patch/iBEC.k95.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n41ap.RELEASE.patch b/resources/patch/iBEC.n41ap.RELEASE.patch deleted file mode 100644 index 9c983e4..0000000 Binary files a/resources/patch/iBEC.n41ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n42ap.RELEASE.patch b/resources/patch/iBEC.n42ap.RELEASE.patch deleted file mode 100644 index 9c983e4..0000000 Binary files a/resources/patch/iBEC.n42ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n48ap.RELEASE.patch b/resources/patch/iBEC.n48ap.RELEASE.patch deleted file mode 100644 index ade2ec0..0000000 Binary files a/resources/patch/iBEC.n48ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n49ap.RELEASE.patch b/resources/patch/iBEC.n49ap.RELEASE.patch deleted file mode 100644 index ade2ec0..0000000 Binary files a/resources/patch/iBEC.n49ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n78ap.RELEASE.patch b/resources/patch/iBEC.n78ap.RELEASE.patch deleted file mode 100644 index 4ae9378..0000000 Binary files a/resources/patch/iBEC.n78ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n90ap.RELEASE.patch b/resources/patch/iBEC.n90ap.RELEASE.patch deleted file mode 100644 index 5bae5b6..0000000 Binary files a/resources/patch/iBEC.n90ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n90bap.RELEASE.patch b/resources/patch/iBEC.n90bap.RELEASE.patch deleted file mode 100644 index c56face..0000000 Binary files a/resources/patch/iBEC.n90bap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n92ap.RELEASE.patch b/resources/patch/iBEC.n92ap.RELEASE.patch deleted file mode 100644 index e83fd00..0000000 Binary files a/resources/patch/iBEC.n92ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.n94ap.RELEASE.patch b/resources/patch/iBEC.n94ap.RELEASE.patch deleted file mode 100644 index 0179cb7..0000000 Binary files a/resources/patch/iBEC.n94ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.p101ap.RELEASE.patch b/resources/patch/iBEC.p101ap.RELEASE.patch deleted file mode 100644 index 927cddd..0000000 Binary files a/resources/patch/iBEC.p101ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.p102.RELEASE.patch b/resources/patch/iBEC.p102.RELEASE.patch deleted file mode 100644 index 0725e12..0000000 Binary files a/resources/patch/iBEC.p102.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.p103ap.RELEASE.patch b/resources/patch/iBEC.p103ap.RELEASE.patch deleted file mode 100644 index 927cddd..0000000 Binary files a/resources/patch/iBEC.p103ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.p105ap.RELEASE.patch b/resources/patch/iBEC.p105ap.RELEASE.patch deleted file mode 100644 index c42b7f9..0000000 Binary files a/resources/patch/iBEC.p105ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.p106.RELEASE.patch b/resources/patch/iBEC.p106.RELEASE.patch deleted file mode 100644 index 5925cbc..0000000 Binary files a/resources/patch/iBEC.p106.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBEC.p107.RELEASE.patch b/resources/patch/iBEC.p107.RELEASE.patch deleted file mode 100644 index 5925cbc..0000000 Binary files a/resources/patch/iBEC.p107.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.j1ap.RELEASE.patch b/resources/patch/iBSS.j1ap.RELEASE.patch deleted file mode 100644 index 6124cba..0000000 Binary files a/resources/patch/iBSS.j1ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.j2.RELEASE.patch b/resources/patch/iBSS.j2.RELEASE.patch deleted file mode 100644 index 2ca5bbe..0000000 Binary files a/resources/patch/iBSS.j2.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.j2a.RELEASE.patch b/resources/patch/iBSS.j2a.RELEASE.patch deleted file mode 100644 index 8fe960c..0000000 Binary files a/resources/patch/iBSS.j2a.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.k93.RELEASE.patch b/resources/patch/iBSS.k93.RELEASE.patch deleted file mode 100644 index 9460aa4..0000000 Binary files a/resources/patch/iBSS.k93.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.k93a.RELEASE.patch b/resources/patch/iBSS.k93a.RELEASE.patch deleted file mode 100644 index cc43f29..0000000 Binary files a/resources/patch/iBSS.k93a.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.k94.RELEASE.patch b/resources/patch/iBSS.k94.RELEASE.patch deleted file mode 100644 index 2cead10..0000000 Binary files a/resources/patch/iBSS.k94.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.k95.RELEASE.patch b/resources/patch/iBSS.k95.RELEASE.patch deleted file mode 100644 index dea2e9b..0000000 Binary files a/resources/patch/iBSS.k95.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n41.RELEASE.patch b/resources/patch/iBSS.n41.RELEASE.patch deleted file mode 100644 index 3bbfcf8..0000000 Binary files a/resources/patch/iBSS.n41.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n42.RELEASE.patch b/resources/patch/iBSS.n42.RELEASE.patch deleted file mode 100644 index b39c05a..0000000 Binary files a/resources/patch/iBSS.n42.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n48.RELEASE.patch b/resources/patch/iBSS.n48.RELEASE.patch deleted file mode 100644 index fcbc80f..0000000 Binary files a/resources/patch/iBSS.n48.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n49.RELEASE.patch b/resources/patch/iBSS.n49.RELEASE.patch deleted file mode 100644 index 8db9773..0000000 Binary files a/resources/patch/iBSS.n49.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n78ap.RELEASE.patch b/resources/patch/iBSS.n78ap.RELEASE.patch deleted file mode 100644 index d3784ab..0000000 Binary files a/resources/patch/iBSS.n78ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n90ap.RELEASE.patch b/resources/patch/iBSS.n90ap.RELEASE.patch deleted file mode 100644 index 695e195..0000000 Binary files a/resources/patch/iBSS.n90ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n90bap.RELEASE.patch b/resources/patch/iBSS.n90bap.RELEASE.patch deleted file mode 100644 index 366c0e9..0000000 Binary files a/resources/patch/iBSS.n90bap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n92ap.RELEASE.patch b/resources/patch/iBSS.n92ap.RELEASE.patch deleted file mode 100644 index 7e56058..0000000 Binary files a/resources/patch/iBSS.n92ap.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.n94.RELEASE.patch b/resources/patch/iBSS.n94.RELEASE.patch deleted file mode 100644 index bd4558a..0000000 Binary files a/resources/patch/iBSS.n94.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.p101.RELEASE.patch b/resources/patch/iBSS.p101.RELEASE.patch deleted file mode 100644 index f7af7de..0000000 Binary files a/resources/patch/iBSS.p101.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.p102.RELEASE.patch b/resources/patch/iBSS.p102.RELEASE.patch deleted file mode 100644 index 5e59b0e..0000000 Binary files a/resources/patch/iBSS.p102.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.p103.RELEASE.patch b/resources/patch/iBSS.p103.RELEASE.patch deleted file mode 100644 index 6a7420a..0000000 Binary files a/resources/patch/iBSS.p103.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.p105.RELEASE.patch b/resources/patch/iBSS.p105.RELEASE.patch deleted file mode 100644 index de97328..0000000 Binary files a/resources/patch/iBSS.p105.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.p106.RELEASE.patch b/resources/patch/iBSS.p106.RELEASE.patch deleted file mode 100644 index ef93d1b..0000000 Binary files a/resources/patch/iBSS.p106.RELEASE.patch and /dev/null differ diff --git a/resources/patch/iBSS.p107.RELEASE.patch b/resources/patch/iBSS.p107.RELEASE.patch deleted file mode 100644 index 29506b8..0000000 Binary files a/resources/patch/iBSS.p107.RELEASE.patch and /dev/null differ diff --git a/restore.sh b/restore.sh index fbbf103..248c899 100755 --- a/restore.sh +++ b/restore.sh @@ -2,7 +2,7 @@ device_disable_bbupdate="iPad2,3" # Disable baseband update for this device. You can also change this to your device if needed. ipsw_openssh=1 # OpenSSH will be added to custom IPSW if set to 1. (may not work on 8.4.1 etason) -device_ramdisk_build="" # You can change the version of SSH Ramdisk here. (default is 10B329 for most devices) +device_ramdisk_build="" # You can change the version of SSH Ramdisk and Pwned iBSS/iBEC here. (default is 10B329 for most devices) print() { echo "${color_B}${1}${color_N}" @@ -218,10 +218,6 @@ set_tool_paths() { fi bspatch="$(which bspatch)" - futurerestore="$dir/futurerestore_$(uname -m)" - if [[ ! -e $futurerestore ]]; then - futurerestore="$dir/futurerestore_arm64" - fi ideviceenterrecovery="$(which ideviceenterrecovery)" ideviceinfo="$(which ideviceinfo)" iproxy="$(which iproxy)" @@ -286,7 +282,6 @@ set_tool_paths() { # common if [[ $platform != "macos" ]]; then bspatch="$dir/bspatch" - futurerestore+="$dir/futurerestore" ideviceenterrecovery="$dir/ideviceenterrecovery" ideviceinfo="$dir/ideviceinfo" iproxy="$dir/iproxy" @@ -302,6 +297,7 @@ set_tool_paths() { if [[ -z $ideviceactivation ]]; then ideviceactivation="$dir/ideviceactivation" fi + futurerestore="$dir/futurerestore" gaster+="$dir/gaster" idevicerestore+="$dir/idevicerestore" idevicererestore+="$dir/idevicererestore" @@ -326,22 +322,22 @@ install_depends() { fi if [[ $distro == "arch" ]]; then - sudo pacman -Sy --noconfirm --needed base-devel curl jq libimobiledevice openssh python udev unzip usbmuxd usbutils vim xmlstarlet zenity zip + sudo pacman -Sy --noconfirm --needed base-devel curl jq libimobiledevice openssh python udev unzip usbmuxd usbutils vim zenity zip elif [[ $distro == "debian" ]]; then if [[ -n $ubuntu_ver ]]; then sudo add-apt-repository -y universe fi sudo apt update - sudo apt install -y curl jq libimobiledevice6 libirecovery-common libssl3 openssh-client python3 unzip usbmuxd usbutils xmlstarlet xxd zenity zip + sudo apt install -y curl jq libimobiledevice6 libirecovery-common libssl3 openssh-client python3 unzip usbmuxd usbutils xxd zenity zip sudo systemctl enable --now udev systemd-udevd usbmuxd 2>/dev/null elif [[ $distro == "fedora" ]]; then - sudo dnf install -y ca-certificates jq libimobiledevice openssl python3 systemd udev usbmuxd vim-common xmlstarlet zenity zip + sudo dnf install -y ca-certificates jq libimobiledevice openssl python3 systemd udev usbmuxd vim-common zenity zip sudo ln -sf /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/certs/ca-certificates.crt elif [[ $distro == "opensuse" ]]; then - sudo zypper -n in curl jq libimobiledevice-1_0-6 openssl-3 python3 usbmuxd unzip vim xmlstarlet zenity zip + sudo zypper -n in curl jq libimobiledevice-1_0-6 openssl-3 python3 usbmuxd unzip vim zenity zip elif [[ $platform == "macos" ]]; then log "Installing Xcode Command Line Tools" @@ -378,9 +374,6 @@ install_depends() { version_check() { local github_api - local version_latest - local git_hash_latest - pushd .. >/dev/null if [[ -d .git ]]; then git_hash=$(git rev-parse HEAD | cut -c -7) @@ -404,9 +397,7 @@ version_check() { print "* Version: $version_current ($git_hash)" fi - if [[ $no_version_check == 1 ]]; then - warn "No version check flag detected, update check will be disabled and no support may be provided." - else + if [[ $no_version_check != 1 ]]; then log "Checking for updates..." github_api=$(curl https://api.github.com/repos/LukeZGD/Legacy-iOS-Kit/releases/latest 2>/dev/null) version_latest=$(echo "$github_api" | grep "latest/Legacy-iOS-Kit_complete" | cut -c 123- | cut -c -9 | sed -e 's/\.$//') @@ -446,6 +437,11 @@ device_get_info() { $ideviceinfo -s >/dev/null if [[ $? == 0 ]]; then device_mode="Normal" + else + $ideviceinfo >/dev/null + if [[ $? == 0 ]]; then + device_mode="Normal" + fi fi if [[ -z $device_mode ]]; then @@ -483,6 +479,7 @@ device_get_info() { device_ecid=$($ideviceinfo -s -k UniqueChipID) device_vers=$($ideviceinfo -s -k ProductVersion) device_udid=$($ideviceinfo -s -k UniqueDeviceID) + [[ -z $device_udid ]] && device_type=$($ideviceinfo -k UniqueDeviceID) ;; esac @@ -514,8 +511,8 @@ device_get_info() { device_latest_bb=0 # set device_proc (what processor the device has) case $device_type in - iPhone3,[123] | iPhone2,1 | iPod3,1 | iPad1,1 | iPod4,1 ) - device_proc=4;; # A4/S5L8920/22 + iPhone3,[123] | iPhone2,1 | iPod2,1 | iPod3,1 | iPad1,1 | iPod4,1 ) + device_proc=4;; # A4/S5L8920/22/8720 iPad2,[1234567] | iPad3,[123] | iPhone4,1 | iPod5,1 ) device_proc=5;; # A5 iPad3,[456] | iPhone5,[1234] ) @@ -528,6 +525,10 @@ device_get_info() { # set device_use_vers, device_use_build (where to get the baseband and manifest from for ota/other) # for a7/a8 other restores 11.3+, device_latest_vers and device_latest_build are used case $device_type in + iPod2,1 ) + device_use_vers="4.2.1" + device_use_build="8C148" + ;; iPad1,1 | iPod3,1 ) device_use_vers="5.1.1" device_use_build="9B206" @@ -888,13 +889,14 @@ device_enter_mode() { device_enter_mode DFU - if [[ $device_proc == 4 && $platform != "macos" ]]; then + if [[ $device_proc == 6 && $platform != "macos" ]] || [[ $device_type == "iPod2,1" ]]; then + # A6 linux uses ipwndfu + # ipod touch 2g uses ipwndfu + device_ipwndfu pwn + elif [[ $device_proc == 4 && $platform != "macos" ]]; then # A4 linux uses ipwnder $ipwnder -p tool_pwned=$? - elif [[ $device_proc == 6 && $platform != "macos" ]]; then - # A6 linux uses ipwndfu - device_ipwndfu pwn elif [[ $device_proc == 7 && $platform == "macos" && $(uname -m) != "x86_64" ]]; then # A7 asi mac uses ipwnder_lite log "Placing device to pwnDFU mode using ipwnder_lite" @@ -993,7 +995,7 @@ device_ipwndfu() { device_enter_mode DFU if [[ ! -d ../resources/ipwndfu ]]; then - download_file https://github.com/LukeZGD/ipwndfu/archive/6e67c9e28a5f7f63f179dea670f7f858712350a0.zip ipwndfu.zip 61333249eb58faebbb380c4709384034ce0e019a + download_file https://github.com/LukeZGD/ipwndfu/archive/0883efd7de10e806e8d5e3d825950b04bb5a12b7.zip ipwndfu.zip 1f5dd30102b968ceb1f8ed361b265011e6daed98 unzip -q ipwndfu.zip -d ../resources mv ../resources/ipwndfu*/ ../resources/ipwndfu/ fi @@ -1024,6 +1026,15 @@ device_ipwndfu() { log "Running rmsigchks..." $python2 rmsigchks.py ;; + + "alloc8" ) + if [[ ! -s n88ap-iBSS-4.3.5.img3 ]]; then + log "Downloading iOS 4.3.5 iBSS" + "../$dir/partialzip" http://appldnld.apple.com/iPhone4/041-1965.20110721.gxUB5/iPhone2,1_4.3.5_8L1_Restore.ipsw "Firmware/dfu/iBSS.n88ap.RELEASE.dfu" n88ap-iBSS-4.3.5.img3 + fi + log "Installing alloc8 to device" + $python2 ipwndfu -x + ;; esac popd } @@ -1089,6 +1100,11 @@ download_comp() { # usage: download_comp [build_id] [comp] local build_id="$1" local comp="$2" + local url="$(cat "$device_fw_dir/$build_id/url")" + if [[ -z $url ]]; then + log "Getting URL for $device_type-$build_id" + url=$(curl https://api.ipsw.me/v2.1/$device_type/$build_id/url) + fi download_targetfile="$comp.$device_model" if [[ $build_id != "12"* ]]; then download_targetfile+="ap" @@ -1099,7 +1115,7 @@ download_comp() { cp "../saved/$device_type/${comp}_$build_id.dfu" ${comp} else log "Downloading ${comp}..." - "$dir/partialzip" $(cat "$device_fw_dir/$build_id/url") "Firmware/dfu/$download_targetfile.dfu" ${comp} + "$dir/partialzip" "$url" "Firmware/dfu/$download_targetfile.dfu" ${comp} cp ${comp} "../saved/$device_type/${comp}_$build_id.dfu" fi } @@ -1109,24 +1125,21 @@ patch_ibss() { local build_id case $device_type in iPad1,1 | iPod3,1 ) build_id="9B206";; - iPhone2,1 | iPod4,1 ) build_id="10B500";; - iPad3,1 | iPhone3,[123] ) build_id="11D257";; - iPod5,1 ) build_id="10B329";; - * ) build_id="12H321";; + iPhone5,[34] ) build_id="11D257";; + * ) build_id="10B329";; esac + if [[ -n $device_ramdisk_build ]]; then + build_id="$device_ramdisk_build" + fi download_comp $build_id iBSS log "Patching iBSS..." - if [[ $build_id == "9B206" || $build_id == "10B500" || $device_type == "iPhone3,2" ]]; then - device_fw_key_check temp $build_id - local iv=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBSS")) | .iv') - local key=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBSS")) | .key') - "$dir/xpwntool" iBSS iBSS.dec -iv $iv -k $key -decrypt - "$dir/xpwntool" iBSS.dec iBSS.raw - "$dir/iBoot32Patcher" iBSS.raw iBSS.patched --rsa - "$dir/xpwntool" iBSS.patched pwnediBSS -t iBSS.dec - else - $bspatch iBSS pwnediBSS "../resources/patch/$download_targetfile.patch" - fi + device_fw_key_check temp $build_id + local iv=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBSS")) | .iv') + local key=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBSS")) | .key') + "$dir/xpwntool" iBSS iBSS.dec -iv $iv -k $key -decrypt + "$dir/xpwntool" iBSS.dec iBSS.raw + "$dir/iBoot32Patcher" iBSS.raw iBSS.patched --rsa + "$dir/xpwntool" iBSS.patched pwnediBSS -t iBSS.dec cp pwnediBSS ../saved/$device_type/ log "Pwned iBSS saved at: saved/$device_type/pwnediBSS" } @@ -1135,38 +1148,28 @@ patch_ibec() { # creates file pwnediBEC to be sent to device for blob dumping local build_id case $device_type in - iPad1,1 | iPod3,1 ) - build_id="9B206";; - iPhone2,1 | iPod4,1 ) - build_id="10B500";; - iPad2,[145] | iPad3,[346] | iPhone4,1 | iPhone5,[12] | iPod5,1 ) - build_id="10B329";; - iPad2,2 | iPhone3,[123] ) - build_id="11D257";; - iPad2,[367] | iPad3,[25] ) - build_id="12H321";; - iPad3,1 ) - build_id="10B146";; - iPhone5,3 ) - build_id="11B511";; - iPhone5,4 ) - build_id="11B651";; + iPad1,1 | iPod3,1 ) build_id="9B206";; + iPhone5,[34] ) build_id="11D257";; + * ) build_id="10B329";; esac + if [[ -n $device_ramdisk_build ]]; then + build_id="$device_ramdisk_build" + fi download_comp $build_id iBEC device_fw_key_check temp $build_id local name=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBEC")) | .filename') local iv=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBEC")) | .iv') local key=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBEC")) | .key') + local address="0x80000000" + if [[ $device_proc == 4 ]]; then + address="0x40000000" + fi log "Decrypting iBEC..." mv iBEC $name.orig "$dir/xpwntool" $name.orig $name.dec -iv $iv -k $key -decrypt "$dir/xpwntool" $name.dec $name.raw log "Patching iBEC..." - if [[ $build_id == "9B206" || $build_id == "10B500" || $device_type == "iPhone3,2" ]]; then - "$dir/iBoot32Patcher" $name.raw $name.patched --rsa --debug --ticket -b "rd=md0 -v amfi=0xff cs_enforcement_disable=1" -c "go" 0x40000000 # 0x40000000 for a4 and older, 0x80000000 for a5/a6 - else - $bspatch $name.raw $name.patched "../resources/patch/$download_targetfile.patch" - fi + "$dir/iBoot32Patcher" $name.raw $name.patched --rsa --debug --ticket -b "rd=md0 -v amfi=0xff cs_enforcement_disable=1" -c "go" $address "$dir/xpwntool" $name.patched pwnediBEC -t $name.dec rm $name.dec $name.orig $name.raw $name.patched cp pwnediBEC ../saved/$device_type/ @@ -1185,15 +1188,12 @@ ipsw_preference_set() { fi case $device_target_vers in - 7.1* | 6* ) ipsw_canjailbreak=1;; - 5* ) - if [[ $device_proc == 4 ]]; then - ipsw_canjailbreak=1 - fi - ;; + 7* | 6* | 5* ) ipsw_canjailbreak=1;; esac - if [[ $device_target_other != 1 && -z $ipsw_jailbreak ]] || [[ $ipsw_canjailbreak == 1 && -z $ipsw_jailbreak ]]; then + if [[ $device_target_vers == "3.1.3" || $device_target_vers == "4.0" ]]; then + ipsw_jailbreak=1 + elif [[ $device_target_other != 1 && -z $ipsw_jailbreak ]] || [[ $ipsw_canjailbreak == 1 && -z $ipsw_jailbreak ]]; then input "Jailbreak Option" print "* When this option is enabled, your device will be jailbroken on restore." case $device_target_vers in @@ -1202,10 +1202,6 @@ ipsw_preference_set() { print "* Based on some reported issues, Jailbreak Option might not work properly for iOS 8.4.1." print "* I recommend to disable the option for these devices and sideload EtasonJB, HomeDepot, or daibutsu manually." ;; - 5.1 ) - print "* Based on some reported issues, Jailbreak Option might not work properly for iOS 5.1." - print "* I recommend to use other versions instead, such as 5.1.1." - ;; esac print "* This option is enabled by default (Y)." read -p "$(input 'Enable this option? (Y/n): ')" ipsw_jailbreak @@ -1245,7 +1241,7 @@ ipsw_preference_set() { if [[ $platform == "windows" ]]; then ipsw_memory= - elif [[ -n $ipsw_memory ]]; then + elif [[ -n $ipsw_memory || $device_type == "iPhone2,1" || $device_type == "iPod2,1" ]]; then : elif [[ $ipsw_jailbreak == 1 || $device_type == "$device_disable_bbupdate" ]] || [[ $device_type == "iPhone3,1" && $device_target_vers != "7.1.2" ]] || @@ -1447,7 +1443,7 @@ ipsw_prepare_jailbreak() { if [[ $ipsw_openssh == 1 ]]; then JBFiles=("../resources/jailbreak/sshdeb.tar") fi - JBFiles2=("bin.tar" "untether.tar" "freeze.tar") + JBFiles2=("daibutsu/bin.tar" "daibutsu/untether.tar" "freeze.tar") for i in {0..2}; do cp ../resources/jailbreak/${JBFiles2[$i]} . done @@ -1613,6 +1609,7 @@ ipsw_prepare_bundle() { local vers="$device_target_vers" local build="$device_target_build" local hw="$device_model" + local RootSize FirmwareBundle="FirmwareBundles/" mkdir FirmwareBundles 2>/dev/null @@ -1637,14 +1634,6 @@ ipsw_prepare_bundle() { local NewPlist=$FirmwareBundle/Info.plist mkdir -p $FirmwareBundle - local xmlstarlet="$dir/xmlstarlet" - if [[ ! -e $xmlstarlet ]]; then - xmlstarlet="$(which xmlstarlet)" - if [[ -z $xmlstarlet ]]; then - error "xmlstarlet is not installed. Install xmlstarlet to continue creating custom IPSW" - fi - fi - log "Generating firmware bundle..." local IPSWSHA256=$($sha256sum "${ipsw_p//\\//}.ipsw" | awk '{print $1}') log "IPSWSHA256: $IPSWSHA256" @@ -1656,12 +1645,17 @@ ipsw_prepare_bundle() { unzip -o -j "$ipsw_p.ipsw" $RamdiskName "$dir/xpwntool" $RamdiskName Ramdisk.raw -iv $RamdiskIV -k $RamdiskKey "$dir/hfsplus" Ramdisk.raw extract usr/local/share/restore/options.$device_model.plist - local RootSize=$($xmlstarlet sel -t -m "plist/dict/key[.='SystemPartitionSize']" -v "following-sibling::integer[1]" options.$device_model.plist) + if [[ $platform == "macos" ]]; then + plutil -extract 'SystemPartitionSize' xml1 options.$device_model.plist -o size + RootSize=$(cat size | sed -ne '//,/<\/integer>/p' | sed -e "s///" | sed "s/<\/integer>//" | sed '2d') + else + RootSize=$(cat options.$device_model.plist | grep -i SystemPartitionSize -A 1 | grep -oPm1 "(?<=)[^<]+") + fi RootSize=$((RootSize+30)) echo -e $'\n\n' > $NewPlist echo -e "Filename$ipsw_p.ipsw" >> $NewPlist - echo -e "RootFilesystem$(echo "$key" | $jq -j '.keys[] | select(.image | startswith("RootFS")) | .filename')" >> $NewPlist - echo -e "RootFilesystemKey$(echo "$key" | $jq -j '.keys[] | select(.image | startswith("RootFS")) | .key')" >> $NewPlist + echo -e "RootFilesystem$(echo "$key" | $jq -j '.keys[] | select(.image == "RootFS") | .filename')" >> $NewPlist + echo -e "RootFilesystemKey$(echo "$key" | $jq -j '.keys[] | select(.image == "RootFS") | .key')" >> $NewPlist echo -e "RootFilesystemSize$RootSize" >> $NewPlist echo -e "RamdiskOptionsPath/usr/local/share/restore/options.$device_model.plist" >> $NewPlist echo -e "SHA256$IPSWSHA256" >> $NewPlist @@ -1753,8 +1747,8 @@ ipsw_prepare_32bit() { log "Found existing Custom IPSW. Skipping IPSW creation." return elif [[ $platform != "windows" && $device_type != "$device_disable_bbupdate" && - $ipsw_jailbreak != 1 && $ipsw_canjailbreak != 1 ]]; then - log "No need to create custom IPSW for non-jailbroken restores on $platform" + $ipsw_jailbreak != 1 && $device_proc != 4 ]]; then + log "No need to create custom IPSW for non-jailbroken restores on $device_type-$device_target_build" return fi @@ -1772,12 +1766,7 @@ ipsw_prepare_32bit() { 7* ) JBFiles+=("evasi0n7-untether.tar");; 6.1.[3456] ) JBFiles+=("p0sixspwn.tar");; 6* ) JBFiles+=("evasi0n6-untether.tar");; - 5* ) - if [[ $device_proc == 4 ]]; then - JBFiles+=("unthredeh4il.tar") - else - JBFiles+=("pris0nbarake/tar-$device_model-$device_target_build.tar") - fi + 5* ) JBFiles+=("pris0nbarake/tar-${device_model}_$device_target_build.tar") ;; esac case $device_target_vers in @@ -1816,7 +1805,12 @@ ipsw_prepare_powder() { if [[ $ipsw_jailbreak == 1 ]]; then if [[ $device_target_vers == "4"* || $device_target_vers == "5"* ]]; then - JBFiles=("unthredeh4il.tar" "fstab_rw.tar" "freeze.tar") + if [[ $device_target_vers == "5"* ]]; then + JBFiles=("pris0nbarake/tar-${device_model}_$device_target_build.tar") + else + JBFiles=("unthredeh4il.tar") + fi + JBFiles+=("fstab_rw.tar" "freeze.tar") for i in {0..2}; do JBFiles[i]=../resources/jailbreak/${JBFiles[$i]} done @@ -1861,11 +1855,11 @@ ipsw_prepare_powder() { ExtraArgs2+="-b -v" fi unzip -o -j "$ipsw_path.ipsw" Firmware/all_flash/all_flash.n90ap.production/iBoot* - mv iBoot.n90ap.RELEASE.img3 tmp - "$dir/xpwntool" tmp ibot.dec -iv $IV -k $Key + mv iBoot.n90ap.RELEASE.img3 ibot + "$dir/xpwntool" ibot ibot.dec -iv $IV -k $Key "$dir/iBoot32Patcher" ibot.dec ibot.pwned --rsa --boot-partition --boot-ramdisk $ExtraArgs2 - "$dir/xpwntool" ibot.pwned iBoot -t tmp - rm tmp + "$dir/xpwntool" ibot.pwned iBoot -t ibot + rm ibot* echo "0000010: 6365" | xxd -r - iBoot echo "0000020: 6365" | xxd -r - iBoot mkdir -p Firmware/all_flash/all_flash.n90ap.production Firmware/dfu @@ -1928,6 +1922,122 @@ ipsw_prepare_powder2() { mv temp.ipsw "$ipsw_custom.ipsw" } +ipsw_prepare_custom() { + local comps=("RestoreRamdisk" "iBoot" "iBSS" "Kernelcache" "LLB") + local name + local iv + local key + local path + local url + local decrypt + local patch="../resources/patch/24Kpwn/$device_type/$device_target_vers" + local RootSize + + if [[ -e "$ipsw_custom.ipsw" ]]; then + log "Found existing Custom IPSW. Skipping IPSW creation." + return + fi + + if [[ $device_target_vers == "5"* ]]; then + comps+=("iBEC") + fi + + ipsw_extract + device_fw_key_check + url=$(cat "$device_fw_dir/$device_target_build/url" 2>/dev/null) + for getcomp in "${comps[@]}"; do + name=$(echo $device_fw_key | $jq -j '.keys[] | select(.image | startswith("'$getcomp'")) | .filename') + iv=$(echo $device_fw_key | $jq -j '.keys[] | select(.image | startswith("'$getcomp'")) | .iv') + key=$(echo $device_fw_key | $jq -j '.keys[] | select(.image | startswith("'$getcomp'")) | .key') + case $getcomp in + "iBSS" | "iBEC" ) path="Firmware/dfu/";; + "iBoot" | "LLB" ) path="Firmware/all_flash/all_flash.${device_model}ap.production/";; + * ) path="";; + esac + if [[ -n $iv && -n $key ]]; then + decrypt="-iv $iv -k $key" + fi + + log "$getcomp" + cp "$ipsw_path/${path}$name" . + mv $name $name.orig + if [[ $getcomp == "iBoot" || $getcomp == "LLB" ]]; then + $bspatch $name.orig $name $patch/$name.patch + else + "$dir/xpwntool" $name.orig $name.dec $decrypt + if [[ $getcomp == "RestoreRamdisk" ]]; then + cp $name.dec Ramdisk.raw + fi + $bspatch $name.dec $name.patched $patch/$name.patch + if [[ $getcomp == "Kernelcache" ]]; then + "$dir/xpwntool" $name.patched $name -t $name.orig $decrypt + else + "$dir/xpwntool" $name.patched $name -t $name.orig + fi + fi + cp $name "$ipsw_path/$path" + done + + log "Getting RootFS information" + "$dir/hfsplus" Ramdisk.raw extract usr/local/share/restore/options.$device_model.plist + if [[ ! -s options.$device_model.plist ]]; then + rm options.$device_model.plist + "$dir/hfsplus" Ramdisk.raw extract usr/local/share/restore/options.plist + mv options.plist options.$device_model.plist + fi + if [[ $device_target_vers == "3.1.3" ]]; then + case $device_type in + iPod2,1 ) RootSize=450;; + iPhone2,1 ) RootSize=530;; + esac + elif [[ $platform == "macos" ]]; then + plutil -extract 'SystemPartitionSize' xml1 options.$device_model.plist -o size + RootSize=$(cat size | sed -ne '//,/<\/integer>/p' | sed -e "s///" | sed "s/<\/integer>//" | sed '2d') + else + RootSize=$(cat options.$device_model.plist | grep -i SystemPartitionSize -A 1 | grep -oPm1 "(?<=)[^<]+") + fi + RootSize=$((RootSize+30)) + RootSize=$((RootSize*1024*1024)) + local RootName=$(echo "$device_fw_key" | $jq -j '.keys[] | select(.image == "RootFS") | .filename') + local RootKey=$(echo "$device_fw_key" | $jq -j '.keys[] | select(.image == "RootFS") | .key') + log "RootFS Name: $RootName" + log "RootFS Key: $RootKey" + log "RootFS Size: $RootSize" + log "Copying RootFS" + cp "$ipsw_path/$RootName" . + log "Decrypting RootFS" + "$dir/dmg" extract $RootName out.dmg -k $RootKey + "$dir/hfsplus" out.dmg grow $RootSize + if [[ $ipsw_jailbreak == 1 ]]; then + log "Extracting Cydia" + "$dir/hfsplus" out.dmg untar ../resources/jailbreak/freeze.tar + if [[ $device_type == "iPod2,1" ]]; then + "$dir/hfsplus" out.dmg add ../resources/jailbreak/fstab_old private/etc/fstab + fi + case $device_target_vers in + "3.1.3" | "4.0" ) :;; + * ) "$dir/hfsplus" out.dmg untar ../resources/jailbreak/unthredeh4il.tar;; + esac + fi + rm $RootName + log "Building RootFS" + "$dir/dmg" build out.dmg $RootName + cp $RootName "$ipsw_path" + + log "Building IPSW" + mv "$ipsw_path" "$ipsw_custom" + pushd "$ipsw_custom" + rm BuildManifest.plist + zip -r0 ../tmp/temp.ipsw * + popd + + if [[ ! -e temp.ipsw ]]; then + error "Failed to find custom IPSW. Please run the script again" + fi + + mv temp.ipsw "$ipsw_custom.ipsw" +} + ipsw_extract() { local ExtraArgs local ipsw="$ipsw_path" @@ -2041,9 +2151,6 @@ restore_idevicerestore() { log "Sending iBEC..." $irecovery -f $ipsw_custom/Firmware/dfu/iBEC.${device_model}ap.RELEASE.dfu device_find_mode Recovery - elif [[ $device_proc == 4 ]]; then - log "Sending iBSS..." - $irecovery -f $ipsw_custom/Firmware/dfu/iBSS.${device_model}ap.RELEASE.dfu fi if [[ $debug_mode == 1 ]]; then ExtraArgs+=" -d" @@ -2058,7 +2165,7 @@ restore_idevicerestore() { print "* Follow the troubleshoting link for steps to attempt fixing this issue." print "* Troubleshooting link: https://github.com/LukeZGD/Legacy-iOS-Kit/wiki/Troubleshooting#windows" elif [[ $platform == "linux" && $device_target_vers == "4"* ]]; then - print "* For device activation on Linux, go to Other Utilities -> Attempt Activation" + print "* For device activation on Linux, go to: Other Utilities -> Attempt Activation" fi 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." @@ -2106,31 +2213,21 @@ restore_futurerestore() { if [[ -n "$1" ]]; then # custom arg, either --use-pwndfu or --skip-blob ExtraArgs+=("$1") - if [[ $platform == "macos" ]] && (( device_proc < 7 )); then - # no ibss arg for 32bit using newer fr on macos - ExtraArgs+=("--no-ibss") - fi fi if [[ $debug_mode == 1 ]]; then ExtraArgs+=("-d") fi - if [[ $platform != "macos" ]]; then - if (( device_proc < 7 )); then - futurerestore2+="_old" - else - futurerestore2+="_new" - fi - elif [[ $device_target_other != 1 && $device_target_vers == "10.3.3" && $device_proc == 7 ]]; then - futurerestore2="$dir/futurerestore_194" + if (( device_proc < 7 )); then + futurerestore2+="_old" + else + futurerestore2+="_new" + fi + if [[ $platform == "macos" && $device_target_other != 1 && + $device_target_vers == "10.3.3" && $device_proc == 7 ]]; then ipsw_path="$ipsw_custom" fi ExtraArgs+=("-t" "$shsh_path" "$ipsw_path.ipsw") ipsw_extract - if [[ $device_proc == 4 ]]; then - patch_ibss - log "Sending iBSS..." - $irecovery -f pwnediBSS - fi log "Running futurerestore with command: $futurerestore2 ${ExtraArgs[*]}" $futurerestore2 "${ExtraArgs[@]}" @@ -2142,9 +2239,30 @@ restore_futurerestore() { } restore_latest() { - ipsw_extract - log "Running idevicerestore with command: $idevicerestore -e \"$ipsw_path.ipsw\"" - $idevicerestore -e "$ipsw_path.ipsw" + local ExtraArgs="-e" + if [[ $1 == "custom" ]]; then + ExtraArgs+="c" + ipsw_path="$ipsw_custom" + ipsw_extract custom + else + ipsw_extract + fi + log "Running idevicerestore with command: $idevicerestore $ExtraArgs \"$ipsw_path.ipsw\"" + $idevicerestore $ExtraArgs "$ipsw_path.ipsw" + if [[ $1 == "custom" ]]; then + log "Restoring done! Read the message below if any error has occurred:" + if [[ $platform == "windows" ]]; then + print "* Windows users may encounter errors like \"Unable to send APTicket\" or \"Unable to send iBEC\" in the restore process." + print "* Follow the troubleshoting link for steps to attempt fixing this issue." + print "* Troubleshooting link: https://github.com/LukeZGD/Legacy-iOS-Kit/wiki/Troubleshooting#windows" + fi + 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 "* If opening an issue in GitHub, please provide a FULL log/output. Otherwise, your issue may be dismissed." + fi + if [[ $platform == "linux" && $device_target_vers == "4"* ]]; then + print "* For device activation on Linux, go to: Other Utilities -> Attempt Activation" + fi } restore_prepare_1033() { @@ -2185,16 +2303,16 @@ restore_prepare() { 4 ) if [[ $device_target_other == 1 ]]; then if [[ $device_target_vers == "3"* || $device_target_vers == "4"* ]]; then - device_enter_mode pwnDFU ipsw_custom="../${device_type}_${device_target_vers}_${device_target_build}_Restore" - restore_idevicerestore - else - device_enter_mode kDFU - if [[ $ipsw_jailbreak == 1 ]]; then - restore_idevicerestore - else - restore_futurerestore --use-pwndfu - fi + fi + device_enter_mode pwnDFU + restore_idevicerestore + if [[ $device_target_vers == "3"* || $device_target_vers == "4"* ]] && [[ $device_type == "iPhone"* ]]; then + log "Ignore the baseband error and do not disconnect your device yet" + device_find_mode Recovery + log "Attempting to exit recovery mode" + $irecovery -n + log "Done, your device should boot now" fi elif [[ $device_target_vers == "4.1" ]]; then device_enter_mode DFU @@ -2206,9 +2324,6 @@ restore_prepare() { $irecovery -n log "Done, your device should boot now" fi - if [[ $platform == "linux" ]]; then - print "* For device activation on Linux, go to Other Utilities -> Attempt Activation" - fi elif [[ $device_target_vers == "$device_latest_vers" ]]; then if [[ $ipsw_jailbreak == 1 ]]; then shsh_save version $device_latest_vers @@ -2217,6 +2332,16 @@ restore_prepare() { else restore_latest fi + elif [[ $device_type == "iPhone2,1" || $device_type == "iPod2,1" ]]; then + device_enter_mode pwnDFU + restore_latest custom + if [[ $device_type == "iPhone2,1" ]]; then + print "* If the restore succeeded but the device does not boot:" + print "* Go to: Other Utiltiies -> Install alloc8 Exploit" + fi + if [[ $device_target_vers == "3"* ]]; then + print "* For device activation on Linux, go to: Other Utilities -> Attempt Activation" + fi else # powdersn0w 4.3.x-6.1.3 shsh_save version 7.1.2 @@ -2275,6 +2400,8 @@ ipsw_prepare() { if [[ $ipsw_jailbreak == 1 ]]; then ipsw_prepare_32bit fi + elif [[ $device_type == "iPhone2,1" || $device_type == "iPod2,1" ]]; then + ipsw_prepare_custom else # powdersn0w 4.3.x-6.1.3 if [[ $device_target_vers == "4.3"* ]]; then @@ -2353,7 +2480,7 @@ device_ramdisk() { local url case $device_type in - iPhone1,2 | iPod2,1 ) device_target_build="8C148";; + iPod2,1 ) device_target_build="8C148";; iPod3,1 | iPad1,1 ) device_target_build="9B206";; iPhone2,1 | iPod4,1 ) device_target_build="10B500";; iPhone5,3 ) device_target_build="11B511";; @@ -2473,6 +2600,7 @@ shsh_save_onboard() { patch_ibss log "Sending iBSS..." $irecovery -f pwnediBSS + sleep 5 fi patch_ibec log "Sending iBEC..." @@ -2513,7 +2641,7 @@ shsh_save_cydia() { ((i++)) done for build in ${builds[@]}; do - if [[ $build == "10"* && $build != "10B329" ]]; then + if [[ $build == "10"* && $build != "10B329" && $build != "10B350" ]]; then continue fi printf "\n$build " @@ -2535,10 +2663,19 @@ menu_print_info() { print " *** Legacy iOS Kit ***" print " - Script by LukeZGD -" echo - print "* Version: $version_current ($git_hash)" + if [[ -n $version_current ]]; then + print "* Version: $version_current ($git_hash)" + fi + if [[ $no_version_check == 1 ]]; then + warn "No version check flag detected, update check is disabled and no support will be provided." + fi + if [[ $version_latest != "$version_current" ]]; then + warn "Current version is newer/different than remote: $version_latest ($git_hash_latest)" + fi print "* Platform: $platform ($platform_ver) $live_cdusb_r" if [[ $platform == "windows" ]]; then - log "iTunes version: $itunes_ver" + warn "Using Legacy iOS Kit on Windows is not recommended." + print "* iTunes version: $itunes_ver" fi echo print "* Device: $device_type (${device_model}ap) in $device_mode mode" @@ -2557,7 +2694,7 @@ menu_main() { print " > Main Menu" input "Select an option:" if [[ $device_mode != "none" ]]; then - menu_items+=("Restore Firmware") + menu_items+=("Restore/Downgrade") fi menu_items+=("Save SHSH Blobs" "Other Utilities" "Exit") select opt in "${menu_items[@]}"; do @@ -2565,7 +2702,7 @@ menu_main() { break done case $selected in - "Restore Firmware" ) menu_restore;; + "Restore/Downgrade" ) menu_restore;; "Save SHSH Blobs" ) menu_shsh;; "Other Utilities" ) menu_other;; "Exit" ) mode="exit";; @@ -2679,21 +2816,22 @@ menu_restore() { iPad2,[123] | iPhone4,1 ) menu_items+=("iOS 6.1.3");;& iPhone3,1 ) - menu_items+=("powdersn0w");; + menu_items+=("powdersn0w (any iOS)");; iPhone4,1 | iPhone5,[12] | iPad2,4 | iPod5,1 ) menu_items+=("Other (powdersn0w 7.1.x blobs)");; - iPhone2,1 | iPod3,1 ) - menu_items+=("iOS 4.1");; + iPhone2,1 ) + menu_items+=("iOS 5.1.1" "iOS 4.3.3");;& + iPhone2,1 | iPod2,1 | iPod3,1 ) + menu_items+=("iOS 4.1");;& + iPhone2,1 | iPod2,1 ) + menu_items+=("iOS 4.0" "iPhoneOS 3.1.3");; esac - if [[ $platform != "macos" && $1 != "ipsw" ]] && (( device_proc < 7 )); then - menu_items+=("Latest iOS") - fi - menu_items+=("Other (use SHSH blobs)" "Go Back") + menu_items+=("Latest iOS ($device_latest_vers)" "Other (use SHSH blobs)" "Go Back") menu_print_info if [[ $1 == "ipsw" ]]; then print " > Main Menu > Other Utilities > Create Custom IPSW" else - print " > Main Menu > Restore Firmware" + print " > Main Menu > Restore/Downgrade" fi input "Select an option:" select opt in "${menu_items[@]}"; do @@ -2720,7 +2858,7 @@ menu_ipsw() { nav=" > Main Menu > Other Utilities > Create Custom IPSW > $1" start="Create IPSW" else - nav=" > Main Menu > Restore Firmware > $1" + nav=" > Main Menu > Restore/Downgrade > $1" start="Start Restore" fi @@ -2746,11 +2884,27 @@ menu_ipsw() { device_target_vers="6.1.3" device_target_build="10B329" ;; + "iOS 5.1.1" ) + device_target_vers="5.1.1" + device_target_build="9B206" + ;; + "iOS 4.3.3" ) + device_target_vers="4.3.3" + device_target_build="8J2" + ;; "iOS 4.1" ) device_target_vers="4.1" device_target_build="8B117" ;; - "Latest iOS" ) + "iOS 4.0" ) + device_target_vers="4.0" + device_target_build="8A293" + ;; + "iPhoneOS 3.1.3" ) + device_target_vers="3.1.3" + device_target_build="7E18" + ;; + "Latest iOS"* ) device_target_vers="$device_latest_vers" device_target_build="$device_latest_build" ;; @@ -2795,11 +2949,17 @@ menu_ipsw() { print "* Target Version: $device_target_vers-$device_target_build" else print "* Select Target IPSW to continue" + case $device_type in + iPhone3,1 ) print "* Any iOS version from 4.3 to 6.1.3 is supported";; + iPhone5,[12] | iPod5,1 ) print "* Any iOS version from 6.0 to 9.3.5 is supported (not iOS 7)";; + iPad2,4 ) print "* Any iOS version from 5.1 to 9.3.5 is supported (not iOS 7)";; + * ) print "* Any iOS version from 5.0 to 9.3.5 is supported (not iOS 7)";; + esac fi echo - local text2="(7.1.x)" + local text2="(iOS 7.1.x)" if [[ $device_type == "iPhone3,1" ]]; then - text2="(7.1.2)" + text2="(iOS 7.1.2)" fi if [[ -n $ipsw_base_path ]]; then print "* Selected Base $text2 IPSW: $ipsw_base_path.ipsw" @@ -2872,13 +3032,7 @@ menu_ipsw() { fi ;;& - "Start Restore" ) - mode="downgrade" - if [[ $1 == "Latest iOS" || $1 == "iOS 4.1" ]]; then - mode="restore-latest" - fi - ;; - + "Start Restore" ) mode="downgrade";; "Create IPSW" ) mode="custom-ipsw";; "Select Target IPSW" ) menu_ipsw_browse "$1";; "Select Base IPSW" ) menu_ipsw_browse "base";; @@ -2922,6 +3076,9 @@ ipsw_custom_set() { if [[ -n $1 ]]; then ipsw_custom="../$1_Custom" fi + if [[ $device_target_powder == 1 ]]; then + ipsw_custom+="P" + fi if [[ $ipsw_jailbreak == 1 ]]; then ipsw_custom+="JB" fi @@ -2963,8 +3120,12 @@ menu_ipsw_browse() { "iOS 10.3.3" ) versionc="10.3.3";; "iOS 8.4.1" ) versionc="8.4.1";; "iOS 6.1.3" ) versionc="6.1.3";; + "iOS 5.1.1" ) versionc="5.1.1";; + "iOS 4.3.3" ) versionc="4.3.3";; "iOS 4.1" ) versionc="4.1";; - "Latest iOS" ) versionc="$device_latest_vers";; + "iOS 4.0" ) versionc="4.0";; + "iPhoneOS 3.1.3" ) versionc="3.1.3";; + "Latest iOS"* ) versionc="$device_latest_vers";; "base" ) if [[ $device_base_vers != "7.1"* ]]; then log "Selected IPSW is not for iOS 7.1.x." @@ -2975,6 +3136,16 @@ menu_ipsw_browse() { ipsw_base_path="$newpath" return ;; + *"powdersn0w"* ) + case $device_target_build in + "8A"* | "8B"* | "8C"* | "8G4" | "8H7" | "8K2" | "11"* | "14"* ) + log "Selected IPSW ($device_target_vers) is not supported as target version." + print "* Supported iOS 4.3.x versions: 4.3, 4.3.3, 4.3.5" + pause + return + ;; + esac + ;; esac if [[ -n $versionc && $device_target_vers != "$versionc" ]]; then log "Selected IPSW ($device_target_vers) does not match target version ($versionc)." @@ -2998,6 +3169,20 @@ menu_shsh_browse() { [[ ! -s "$newpath" ]] && read -p "$(input "Enter path to $text IPSW file (or press Ctrl+C to cancel): ")" newpath [[ ! -s "$newpath" ]] && return log "Selected SHSH file: $newpath" + log "Validating..." + if [[ $1 == "base" ]]; then + "$dir/validate" "$newpath" "$ipsw_base_path.ipsw" -z + if [[ $? != 0 ]]; then + warn "Validation failed. Did you select the correct IPSW/SHSH?" + pause + fi + else + "$dir/validate" "$newpath" "$ipsw_path.ipsw" -z + if [[ $? != 0 ]]; then + warn "Validation failed. Did you select the correct IPSW/SHSH?" + pause + fi + fi shsh_path="$newpath" } @@ -3023,6 +3208,9 @@ menu_other() { iPhone3,[123] | iPhone4,1 | iPhone5,[1234] | iPad2,4 | iPod5,1 ) menu_items+=("Clear NVRAM");; esac menu_items+=("Attempt Activation") + if [[ $device_type == "iPhone2,1" ]]; then + menu_items+=("Install alloc8 Exploit") + fi fi if [[ $device_proc != 8 ]]; then menu_items+=("Create Custom IPSW") @@ -3044,11 +3232,20 @@ menu_other() { "Send Pwned iBSS" ) mode="pwned-ibss";; "(Re-)Install Dependencies" ) install_depends;; "Attempt Activation" ) mode="activate";; + "Install alloc8 Exploit" ) mode="alloc8";; "Go Back" ) back=1;; esac done } +device_alloc8() { + device_enter_mode pwnDFU + device_ipwndfu alloc8 + log "Done!" + print "* This may take several tries. If it fails, unplug and replug your device, then run the script again" + print "* For more troubleshooting, go to: https://github.com/axi0mX/ipwndfu/blob/master/JAILBREAK-GUIDE.md" +} + main() { clear print " *** Legacy iOS Kit ***" @@ -3093,13 +3290,13 @@ main() { fi case $mode in - "custom-ipsw" | "downgrade" | "restore-latest" ) + "custom-ipsw" | "downgrade" ) ipsw_preference_set ipsw_prepare ;;& "custom-ipsw" ) log "Done creating custom IPSW";; - "downgrade" | "restore-latest" ) restore_prepare;; + "downgrade" ) restore_prepare;; "save-ota-blobs" ) shsh_save;; "kdfu" ) device_enter_mode kDFU;; "remove4" ) device_remove4;; @@ -3109,6 +3306,7 @@ main() { "save-onboard-blobs" ) shsh_save_onboard;; "save-cydia-blobs" ) shsh_save_cydia;; "activate" ) $ideviceactivation activate;; + "alloc8" ) device_alloc8;; * ) :;; esac