diff --git a/README.md b/README.md
index e74d99d..b65a03c 100644
--- a/README.md
+++ b/README.md
@@ -81,18 +81,18 @@
- iPad mini 2, 3, 4
- iPod touch 6, 7
- Restoring with powdersn0w is supported on the following devices and target version range:
- - iPhone 4 GSM - iOS 4.0 to 7.1.1 (4.2.1 is not functional)
- - iPhone 4 CDMA - iOS 5.0 to 7.1.1 (4.2.x is not functional)
+ - iPhone 4 GSM - iOS 4.0 to 7.1.1 (all versions except 4.2.1)
+ - iPhone 4 CDMA - iOS 5.0 to 7.1.1
- iPhone 4S, 5, 5C, iPad 2 Rev A, iPad 4, iPod touch 5 - iOS 5.0 to 9.3.5
- - iPad 1 - iOS 4.3 to 5.1 (4.2.1 and 3.2.x are not functional)
- - iPod touch 3 - iOS 4.0 to 5.1 (3.1.x is not functional)
+ - iPad 1 - iOS 4.3 to 5.1
+ - iPod touch 3 - iOS 4.0 to 5.1
- Using powdersn0w requires iOS 7.1.x blobs for your device
- No blob requirement for iPhone 4, iPad 1, iPod touch 3 (7.1.2 and 5.1.1 are signed)
- For iPhone 5 and 5C, both 7.0.x and 7.1.x blobs can be used
- For iPad 4, only 7.0.x blobs can be used
- Restoring to other unsigned versions without blobs is supported on the following devices and target versions:
- - iPhone 3GS - iOS 3.1.3, 4.1, 4.3.3, 5.0.1, 5.1.1
- - iPod touch 2 - iOS 2.1.1 to 3.0, 3.1.3, 4.1
+ - iPhone 3GS - iOS 3.0 to 6.1.3 (all versions)
+ - iPod touch 2 - iOS 2.1.1 to 4.1 (all versions)
- iPhone 2G, 3G, iPod touch 1 - all versions
- iOS 1 doesn't seem to work and may require usage of [ZiPhone](https://github.com/Zibri/ZiPhone), [more info here](https://nitter.net/tihmstar/status/1734620913071542435)
@@ -155,4 +155,5 @@
- [UntetherHomeDepot](https://www.theiphonewiki.com/wiki/UntetherHomeDepot)
- [greenpois0n](https://github.com/OpenJailbreak/greenpois0n/tree/0f1eac8e748abb200fc36969e616aaad009f7ebf)
- Some patches from [PwnageTool](https://www.theiphonewiki.com/wiki/PwnageTool), [sn0wbreeze](https://www.theiphonewiki.com/wiki/sn0wbreeze), [redsn0w](https://www.theiphonewiki.com/wiki/redsn0w)
+- Some patches made using patchers from [Bundle-Creation](https://github.com/Merculous/Bundle-Creation)
- SSH Ramdisk tars from [SSH-Ramdisk-Maker-and-Loader](https://github.com/Ralph0045/SSH-Ramdisk-Maker-and-Loader) and [msftguy's ssh-rd](https://github.com/msftguy/ssh-rd)
diff --git a/bin/linux/arm64/idevicerestore2 b/bin/linux/arm64/idevicerestore2
new file mode 100755
index 0000000..d5155c3
Binary files /dev/null and b/bin/linux/arm64/idevicerestore2 differ
diff --git a/bin/linux/armhf/idevicerestore2 b/bin/linux/armhf/idevicerestore2
new file mode 100755
index 0000000..f76868a
Binary files /dev/null and b/bin/linux/armhf/idevicerestore2 differ
diff --git a/bin/linux/x86_64/idevicerestore2 b/bin/linux/x86_64/idevicerestore2
new file mode 100755
index 0000000..8679667
Binary files /dev/null and b/bin/linux/x86_64/idevicerestore2 differ
diff --git a/resources/patch/old/iPhone1,1/3.1.3/LLB.m68ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/LLB.m68ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,1/3.1.3/LLB.m68ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/LLB.m68ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch
new file mode 100644
index 0000000..be4a47f
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/asr.patch
new file mode 100644
index 0000000..19afe4d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/asr.patch differ
diff --git a/resources/patch/old/iPhone1,1/3.1.3/iBSS.m68ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/iBSS.m68ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,1/3.1.3/iBSS.m68ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/iBSS.m68ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/iBoot.m68ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/iBoot.m68ap.RELEASE.patch
new file mode 100644
index 0000000..0474ce9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/iBoot.m68ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone1,1/3.1.3/kernelcache.release.s5l8900x.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPhone1,1/3.1.3/kernelcache.release.s5l8900x.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/kernelcache.release.patch
diff --git a/resources/patch/old/iPhone1,1/3.1.3/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone1,1/3.1.3/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,1_3.1.3_7E18.bundle/lockdownd.patch
diff --git a/resources/patch/old/iPhone1,2/3.1.3/LLB.n82ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/LLB.n82ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/3.1.3/LLB.n82ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/LLB.n82ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch
new file mode 100644
index 0000000..be4a47f
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/asr.patch
new file mode 100644
index 0000000..19afe4d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/asr.patch differ
diff --git a/resources/patch/old/iPhone1,2/3.1.3/iBSS.n82ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/iBSS.n82ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/3.1.3/iBSS.n82ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/iBSS.n82ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/iBoot.n82ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/iBoot.n82ap.RELEASE.patch
new file mode 100644
index 0000000..e24edf3
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/iBoot.n82ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone1,2/3.1.3/kernelcache.release.s5l8900x.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/3.1.3/kernelcache.release.s5l8900x.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/kernelcache.release.patch
diff --git a/resources/patch/old/iPhone1,2/3.1.3/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/3.1.3/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_3.1.3_7E18.bundle/lockdownd.patch
diff --git a/resources/patch/old/iPhone1,2/4.1/LLB.n82ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/LLB.n82ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/4.1/LLB.n82ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/LLB.n82ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/WTF.s5l8900xall.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/WTF.s5l8900xall.RELEASE.patch
new file mode 100644
index 0000000..e66c1bf
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/WTF.s5l8900xall.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/asr.patch
new file mode 100644
index 0000000..8453f7e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/asr.patch differ
diff --git a/resources/patch/old/iPhone1,2/4.1/iBSS.n82ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/iBSS.n82ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/4.1/iBSS.n82ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/iBSS.n82ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/iBoot.n82ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/iBoot.n82ap.RELEASE.patch
new file mode 100644
index 0000000..9141aa6
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/iBoot.n82ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone1,2/4.1/kernelcache.release.n82.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/4.1/kernelcache.release.n82.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/kernelcache.release.patch
diff --git a/resources/patch/old/iPhone1,2/4.1/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/4.1/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/lockdownd.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/restoredexternal.patch
new file mode 100644
index 0000000..2998b92
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.1_8B117.bundle/restoredexternal.patch differ
diff --git a/resources/patch/old/iPhone1,2/4.2.1/LLB.n82ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/LLB.n82ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/4.2.1/LLB.n82ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/LLB.n82ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/WTF.s5l8900xall.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/WTF.s5l8900xall.RELEASE.patch
new file mode 100644
index 0000000..351a9ff
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/WTF.s5l8900xall.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/asr.patch
new file mode 100644
index 0000000..5cdb9f9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/asr.patch differ
diff --git a/resources/patch/old/iPhone1,2/4.2.1/iBSS.n82ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/iBSS.n82ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/4.2.1/iBSS.n82ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/iBSS.n82ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/iBoot.n82ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/iBoot.n82ap.RELEASE.patch
new file mode 100644
index 0000000..c4609c9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/iBoot.n82ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone1,2/4.2.1/kernelcache.release.n82.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/4.2.1/kernelcache.release.n82.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/kernelcache.release.patch
diff --git a/resources/patch/old/iPhone1,2/4.2.1/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone1,2/4.2.1/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone1,2_4.2.1_8C148.bundle/lockdownd.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..e03d673
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/asr.patch
new file mode 100644
index 0000000..93e850a
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..1bd1339
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..4723470
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/lockdownd.patch
new file mode 100644
index 0000000..6e77983
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0.1_7A400.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..e03d673
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/asr.patch
new file mode 100644
index 0000000..670cc84
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..1bd1339
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..4723470
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/lockdownd.patch
new file mode 100644
index 0000000..8b8d4ae
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.0_7A341.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..b14199e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/asr.patch
new file mode 100644
index 0000000..6632628
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..4780165
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..cf36aaa
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone2,1/3.1.3/kernelcache.release.s5l8920x.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/3.1.3/kernelcache.release.s5l8920x.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/kernelcache.release.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/lockdownd.patch
new file mode 100644
index 0000000..7c21696
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.2_7D11.bundle/lockdownd.patch differ
diff --git a/resources/patch/old/iPhone2,1/3.1.3/LLB.n88ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/LLB.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/3.1.3/LLB.n88ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/LLB.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/asr.patch
new file mode 100644
index 0000000..6632628
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/asr.patch differ
diff --git a/resources/patch/old/iPhone2,1/3.1.3/iBSS.n88ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/iBSS.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/3.1.3/iBSS.n88ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/iBSS.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..5d169fd
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..832d023
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/kernelcache.release.patch differ
diff --git a/resources/patch/old/iPhone2,1/3.1.3/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/3.1.3/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1.3_7E18.bundle/lockdownd.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..b6ae31d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/asr.patch
new file mode 100644
index 0000000..6632628
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..4780165
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..cf36aaa
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..acdfd76
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/lockdownd.patch
new file mode 100644
index 0000000..d1b661d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_3.1_7C144.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..ec1a21e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/asr.patch
new file mode 100644
index 0000000..97e29ef
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..5a2f0d8
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..dacc1fa
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..f4faa5c
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/lockdownd.patch
new file mode 100644
index 0000000..a7e4843
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/restoredexternal.patch
new file mode 100644
index 0000000..e50aaae
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.1_8A306.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..ec1a21e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/asr.patch
new file mode 100644
index 0000000..97e29ef
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..5a2f0d8
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..dacc1fa
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..aba7e44
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/lockdownd.patch
new file mode 100644
index 0000000..a7e4843
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/restoredexternal.patch
new file mode 100644
index 0000000..e50aaae
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0.2_8A400.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..ec1a21e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/asr.patch
new file mode 100644
index 0000000..71f96cf
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..5a2f0d8
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..dacc1fa
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..f4faa5c
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/lockdownd.patch
new file mode 100644
index 0000000..a7e4843
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/restoredexternal.patch
new file mode 100644
index 0000000..e50aaae
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.0_8A293.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/asr.patch
new file mode 100644
index 0000000..71f96cf
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..5c4e570
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone2,1/4.1/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/4.1/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/lockdownd.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/restoredexternal.patch
new file mode 100644
index 0000000..9645a8c
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.1_8B117.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..094f5d4
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/asr.patch
new file mode 100644
index 0000000..9d57c26
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..6dc9727
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..e11922d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..0f93466
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/lockdownd.patch
new file mode 100644
index 0000000..0912da9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.2.1_8C148a.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..b2096eb
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/asr.patch
new file mode 100644
index 0000000..4a875c2
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..9dade58
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..994368e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..ba5da7b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/lockdownd.patch
new file mode 100644
index 0000000..d4afb1a
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.1_8G4.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..abdf718
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/asr.patch
new file mode 100644
index 0000000..4a875c2
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..9dade58
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..994368e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..75b4373
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/kernelcache.release.patch differ
diff --git a/resources/patch/old/iPhone2,1/4.3.3/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/4.3.3/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.2_8H7.bundle/lockdownd.patch
diff --git a/resources/patch/old/iPhone2,1/4.3.3/LLB.n88ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/LLB.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/4.3.3/LLB.n88ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/LLB.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/asr.patch
new file mode 100644
index 0000000..4a875c2
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/asr.patch differ
diff --git a/resources/patch/old/iPhone2,1/4.3.3/iBSS.n88ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/iBSS.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/4.3.3/iBSS.n88ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/iBSS.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..994368e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone2,1/4.3.3/kernelcache.release.n88.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/4.3.3/kernelcache.release.n88.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/kernelcache.release.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/lockdownd.patch
new file mode 100644
index 0000000..9cf1c33
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3.3_8J2.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..99df106
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/asr.patch
new file mode 100644
index 0000000..4a875c2
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..9dade58
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..994368e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..ba5da7b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/lockdownd.patch
new file mode 100644
index 0000000..593ea28
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_4.3_8F190.bundle/lockdownd.patch differ
diff --git a/resources/patch/old/iPhone2,1/5.0.1/LLB.n88ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/LLB.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.0.1/LLB.n88ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/LLB.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/asr.patch
new file mode 100644
index 0000000..5389d7f
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/asr.patch differ
diff --git a/resources/patch/old/iPhone2,1/5.0.1/iBEC.n88ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/iBEC.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.0.1/iBEC.n88ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/iBEC.n88ap.RELEASE.patch
diff --git a/resources/patch/old/iPhone2,1/5.0.1/iBSS.n88ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/iBSS.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.0.1/iBSS.n88ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/iBSS.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..df47ee9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone2,1/5.0.1/kernelcache.release.n88.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.0.1/kernelcache.release.n88.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/kernelcache.release.patch
diff --git a/resources/patch/old/iPhone2,1/5.0.1/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.0.1/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0.1_9A405.bundle/lockdownd.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..f40fc32
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/asr.patch
new file mode 100644
index 0000000..5389d7f
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBEC.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBEC.n88ap.RELEASE.patch
new file mode 100644
index 0000000..d2cd2cc
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBEC.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..ccf54f8
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..df47ee9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..e92cfce
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/lockdownd.patch
new file mode 100644
index 0000000..5a021b9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.0_9A334.bundle/lockdownd.patch differ
diff --git a/resources/patch/old/iPhone2,1/5.1.1/LLB.n88ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/LLB.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.1.1/LLB.n88ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/LLB.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/asr.patch
new file mode 100644
index 0000000..46b05a5
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/asr.patch differ
diff --git a/resources/patch/old/iPhone2,1/5.1.1/iBEC.n88ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/iBEC.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.1.1/iBEC.n88ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/iBEC.n88ap.RELEASE.patch
diff --git a/resources/patch/old/iPhone2,1/5.1.1/iBSS.n88ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/iBSS.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.1.1/iBSS.n88ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/iBSS.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..6f53824
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone2,1/5.1.1/kernelcache.release.n88.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.1.1/kernelcache.release.n88.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/kernelcache.release.patch
diff --git a/resources/patch/old/iPhone2,1/5.1.1/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/5.1.1/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1.1_9B206.bundle/lockdownd.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..92254d9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/asr.patch
new file mode 100644
index 0000000..5389d7f
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBEC.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBEC.n88ap.RELEASE.patch
new file mode 100644
index 0000000..1aaa935
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBEC.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..b66f1c6
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..813ae9e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..0fc5ed0
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/lockdownd.patch
new file mode 100644
index 0000000..9bc5709
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_5.1_9B176.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..4701a21
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/asr.patch
new file mode 100644
index 0000000..a98eab9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/iBEC.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/iBEC.n88ap.RELEASE.patch
new file mode 100644
index 0000000..a832715
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/iBEC.n88ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone2,1/6.1.6/iBSS.n88ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/iBSS.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/6.1.6/iBSS.n88ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/iBSS.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..b77d59d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..bf7b3f8
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/lockdownd.patch
new file mode 100644
index 0000000..cba896e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/restoredexternal.patch
new file mode 100644
index 0000000..2b3e51a
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0.1_10A523.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..a3dccec
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/asr.patch
new file mode 100644
index 0000000..a98eab9
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBEC.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBEC.n88ap.RELEASE.patch
new file mode 100644
index 0000000..a832715
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBEC.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..d0e4b4b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..b77d59d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..bf7b3f8
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/lockdownd.patch
new file mode 100644
index 0000000..cba896e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/restoredexternal.patch
new file mode 100644
index 0000000..e5926f5
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.0_10A403.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..e3161ad
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/asr.patch
new file mode 100644
index 0000000..7d7e691
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBEC.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBEC.n88ap.RELEASE.patch
new file mode 100644
index 0000000..829cbc7
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBEC.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..d0e4b4b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..52ca63d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..5aea596
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/lockdownd.patch
new file mode 100644
index 0000000..243f26b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/restoredexternal.patch
new file mode 100644
index 0000000..66b29ad
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.2_10B146.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..7a572d8
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/asr.patch
new file mode 100644
index 0000000..7d7e691
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBEC.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBEC.n88ap.RELEASE.patch
new file mode 100644
index 0000000..829cbc7
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBEC.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..d0e4b4b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..71fb206
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..57abda8
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/lockdownd.patch
new file mode 100644
index 0000000..bf309c6
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/restoredexternal.patch
new file mode 100644
index 0000000..66b29ad
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.3_10B329.bundle/restoredexternal.patch differ
diff --git a/resources/patch/old/iPhone2,1/6.1.6/048-2889-001.dmg.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/048-2889-001.dmg.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/6.1.6/048-2889-001.dmg.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/048-2889-001.dmg.patch
diff --git a/resources/patch/old/iPhone2,1/6.1.6/iBEC.n88ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/iBEC.n88ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/6.1.6/iBEC.n88ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/iBEC.n88ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..d0e4b4b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPhone2,1/6.1.6/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/lockdownd.patch
similarity index 100%
rename from resources/patch/old/iPhone2,1/6.1.6/lockdownd.patch
rename to resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1.6_10B500.bundle/lockdownd.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/LLB.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/LLB.n88ap.RELEASE.patch
new file mode 100644
index 0000000..5b1a75b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/LLB.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/asr.patch
new file mode 100644
index 0000000..7d7e691
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBEC.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBEC.n88ap.RELEASE.patch
new file mode 100644
index 0000000..829cbc7
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBEC.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBSS.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBSS.n88ap.RELEASE.patch
new file mode 100644
index 0000000..d0e4b4b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBSS.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBoot.n88ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBoot.n88ap.RELEASE.patch
new file mode 100644
index 0000000..52ca63d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/iBoot.n88ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..5aea596
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/lockdownd.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/lockdownd.patch
new file mode 100644
index 0000000..243f26b
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/lockdownd.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/restoredexternal.patch
new file mode 100644
index 0000000..66b29ad
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPhone2,1_6.1_10B141.bundle/restoredexternal.patch differ
diff --git a/resources/patch/old/iPod1,1/3.1.3/LLB.n45ap.RELEASE.img3.patch b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/LLB.n45ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPod1,1/3.1.3/LLB.n45ap.RELEASE.img3.patch
rename to resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/LLB.n45ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch
new file mode 100644
index 0000000..be4a47f
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/WTF.s5l8900xall.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/asr.patch
new file mode 100644
index 0000000..19afe4d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/asr.patch differ
diff --git a/resources/patch/old/iPod1,1/3.1.3/iBSS.n45ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/iBSS.n45ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPod1,1/3.1.3/iBSS.n45ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/iBSS.n45ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/iBoot.n45ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/iBoot.n45ap.RELEASE.patch
new file mode 100644
index 0000000..7b17746
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/iBoot.n45ap.RELEASE.patch differ
diff --git a/resources/patch/old/iPod1,1/3.1.3/kernelcache.release.s5l8900x.patch b/resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/kernelcache.release.patch
similarity index 100%
rename from resources/patch/old/iPod1,1/3.1.3/kernelcache.release.s5l8900x.patch
rename to resources/firmware/FirmwareBundles/Down_iPod1,1_3.1.3_7E18.bundle/kernelcache.release.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/LLB.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/LLB.n72ap.RELEASE.patch
new file mode 100644
index 0000000..68f0061
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/LLB.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/asr.patch
new file mode 100644
index 0000000..19afe4d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/iBSS.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/iBSS.n72ap.RELEASE.patch
new file mode 100644
index 0000000..87be05e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/iBSS.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/iBoot.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/iBoot.n72ap.RELEASE.patch
new file mode 100644
index 0000000..ae4c445
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/iBoot.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..76eda3c
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.1_7C145.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/LLB.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/LLB.n72ap.RELEASE.patch
new file mode 100644
index 0000000..f5f5119
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/LLB.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/asr.patch
new file mode 100644
index 0000000..19afe4d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/iBSS.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/iBSS.n72ap.RELEASE.patch
new file mode 100644
index 0000000..87be05e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/iBSS.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/iBoot.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/iBoot.n72ap.RELEASE.patch
new file mode 100644
index 0000000..ae4c445
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/iBoot.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..54597f0
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.2_7D11.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.3_7E18.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.3_7E18.bundle/asr.patch
new file mode 100644
index 0000000..19afe4d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.3_7E18.bundle/asr.patch differ
diff --git a/resources/patch/old/iPod2,1/3.1.3/iBSS.n72ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.3_7E18.bundle/iBSS.n72ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPod2,1/3.1.3/iBSS.n72ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPod2,1_3.1.3_7E18.bundle/iBSS.n72ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/LLB.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/LLB.n72ap.RELEASE.patch
new file mode 100644
index 0000000..0334696
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/LLB.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/asr.patch
new file mode 100644
index 0000000..6d0be7a
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/iBSS.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/iBSS.n72ap.RELEASE.patch
new file mode 100644
index 0000000..db4806d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/iBSS.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/iBoot.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/iBoot.n72ap.RELEASE.patch
new file mode 100644
index 0000000..6577780
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/iBoot.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..5b34938
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/restoredexternal.patch
new file mode 100644
index 0000000..61d7e6c
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0.2_8A400.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/LLB.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/LLB.n72ap.RELEASE.patch
new file mode 100644
index 0000000..0334696
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/LLB.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/asr.patch
new file mode 100644
index 0000000..6d0be7a
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/iBSS.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/iBSS.n72ap.RELEASE.patch
new file mode 100644
index 0000000..db4806d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/iBSS.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/iBoot.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/iBoot.n72ap.RELEASE.patch
new file mode 100644
index 0000000..6577780
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/iBoot.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/kernelcache.release.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/kernelcache.release.patch
new file mode 100644
index 0000000..5d826d4
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/kernelcache.release.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/restoredexternal.patch
new file mode 100644
index 0000000..61d7e6c
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.0_8A293.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.1_8B117.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.1_8B117.bundle/asr.patch
new file mode 100644
index 0000000..af95fa4
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.1_8B117.bundle/asr.patch differ
diff --git a/resources/patch/old/iPod2,1/4.1/iBSS.n72ap.RELEASE.dfu.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.1_8B117.bundle/iBSS.n72ap.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPod2,1/4.1/iBSS.n72ap.RELEASE.dfu.patch
rename to resources/firmware/FirmwareBundles/Down_iPod2,1_4.1_8B117.bundle/iBSS.n72ap.RELEASE.patch
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.1_8B117.bundle/restoredexternal.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.1_8B117.bundle/restoredexternal.patch
new file mode 100644
index 0000000..2998b92
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.1_8B117.bundle/restoredexternal.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.2.1_8C148.bundle/asr.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.2.1_8C148.bundle/asr.patch
new file mode 100644
index 0000000..75acd9e
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.2.1_8C148.bundle/asr.patch differ
diff --git a/resources/firmware/FirmwareBundles/Down_iPod2,1_4.2.1_8C148.bundle/iBSS.n72ap.RELEASE.patch b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.2.1_8C148.bundle/iBSS.n72ap.RELEASE.patch
new file mode 100644
index 0000000..940065d
Binary files /dev/null and b/resources/firmware/FirmwareBundles/Down_iPod2,1_4.2.1_8C148.bundle/iBSS.n72ap.RELEASE.patch differ
diff --git a/resources/firmware/iPod1,1/5A347/sha1sum b/resources/firmware/iPod1,1/5A347/sha1sum
new file mode 100644
index 0000000..e434142
--- /dev/null
+++ b/resources/firmware/iPod1,1/5A347/sha1sum
@@ -0,0 +1 @@
+ae82798e85f9953b0f4798bad36187cb020c9d22
diff --git a/resources/firmware/iPod1,1/5A347/url b/resources/firmware/iPod1,1/5A347/url
new file mode 100644
index 0000000..70ce08e
--- /dev/null
+++ b/resources/firmware/iPod1,1/5A347/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_2.0_5A347_Restore.ipsw
diff --git a/resources/firmware/iPod1,1/5B108/sha1sum b/resources/firmware/iPod1,1/5B108/sha1sum
new file mode 100644
index 0000000..65aef84
--- /dev/null
+++ b/resources/firmware/iPod1,1/5B108/sha1sum
@@ -0,0 +1 @@
+a81b6e7af4b85ef436d047f9da57c0f694d8964a
diff --git a/resources/firmware/iPod1,1/5B108/url b/resources/firmware/iPod1,1/5B108/url
new file mode 100644
index 0000000..f49ac4d
--- /dev/null
+++ b/resources/firmware/iPod1,1/5B108/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_2.0.1_5B108_Restore.ipsw
diff --git a/resources/firmware/iPod1,1/5C1/sha1sum b/resources/firmware/iPod1,1/5C1/sha1sum
new file mode 100644
index 0000000..b5d5382
--- /dev/null
+++ b/resources/firmware/iPod1,1/5C1/sha1sum
@@ -0,0 +1 @@
+c8b6f9fefa3f3777c56285dfe4c735b1e08a81a2
diff --git a/resources/firmware/iPod1,1/5C1/url b/resources/firmware/iPod1,1/5C1/url
new file mode 100644
index 0000000..696459a
--- /dev/null
+++ b/resources/firmware/iPod1,1/5C1/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_2.0.2_5C1_Restore.ipsw
diff --git a/resources/firmware/iPod1,1/5F137/sha1sum b/resources/firmware/iPod1,1/5F137/sha1sum
new file mode 100644
index 0000000..6993db2
--- /dev/null
+++ b/resources/firmware/iPod1,1/5F137/sha1sum
@@ -0,0 +1 @@
+fc7f6d0972927df502ffca47438ca75dcccffaf3
diff --git a/resources/firmware/iPod1,1/5F137/url b/resources/firmware/iPod1,1/5F137/url
new file mode 100644
index 0000000..63c09ca
--- /dev/null
+++ b/resources/firmware/iPod1,1/5F137/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_2.1_5F137_Restore.ipsw
diff --git a/resources/firmware/iPod1,1/5G77/sha1sum b/resources/firmware/iPod1,1/5G77/sha1sum
new file mode 100644
index 0000000..b651cee
--- /dev/null
+++ b/resources/firmware/iPod1,1/5G77/sha1sum
@@ -0,0 +1 @@
+081a7de363230fb38d0ce092cbbe42f2a50c8a5f
diff --git a/resources/firmware/iPod1,1/5G77/url b/resources/firmware/iPod1,1/5G77/url
new file mode 100644
index 0000000..155446e
--- /dev/null
+++ b/resources/firmware/iPod1,1/5G77/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_2.2_5G77_Restore.ipsw
diff --git a/resources/firmware/iPod1,1/5H11/sha1sum b/resources/firmware/iPod1,1/5H11/sha1sum
new file mode 100644
index 0000000..91eab89
--- /dev/null
+++ b/resources/firmware/iPod1,1/5H11/sha1sum
@@ -0,0 +1 @@
+fc69be9e421bc0630567184506ab771f6b7ef68b
diff --git a/resources/firmware/iPod1,1/5H11/url b/resources/firmware/iPod1,1/5H11/url
new file mode 100644
index 0000000..f51c0d3
--- /dev/null
+++ b/resources/firmware/iPod1,1/5H11/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_2.2.1_5H11_Restore.ipsw
diff --git a/resources/firmware/iPod1,1/7A341/sha1sum b/resources/firmware/iPod1,1/7A341/sha1sum
new file mode 100644
index 0000000..64f265c
--- /dev/null
+++ b/resources/firmware/iPod1,1/7A341/sha1sum
@@ -0,0 +1 @@
+dff2bd14931225908a360fb8e60a336f17d2dd6d
diff --git a/resources/firmware/iPod1,1/7A341/url b/resources/firmware/iPod1,1/7A341/url
new file mode 100644
index 0000000..27a92bb
--- /dev/null
+++ b/resources/firmware/iPod1,1/7A341/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_3.0_7A341_Restore.ipsw
diff --git a/resources/firmware/iPod1,1/7C145/sha1sum b/resources/firmware/iPod1,1/7C145/sha1sum
new file mode 100644
index 0000000..6a88256
--- /dev/null
+++ b/resources/firmware/iPod1,1/7C145/sha1sum
@@ -0,0 +1 @@
+c6270780c166db4c9f4f0a7fa945754a1f9fe7e8
diff --git a/resources/firmware/iPod1,1/7C145/url b/resources/firmware/iPod1,1/7C145/url
new file mode 100644
index 0000000..e9dfe9e
--- /dev/null
+++ b/resources/firmware/iPod1,1/7C145/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_3.1.1_7C145_Restore.ipsw
diff --git a/resources/firmware/iPod1,1/7D11/sha1sum b/resources/firmware/iPod1,1/7D11/sha1sum
new file mode 100644
index 0000000..4f4434a
--- /dev/null
+++ b/resources/firmware/iPod1,1/7D11/sha1sum
@@ -0,0 +1 @@
+7367dd9ba58a3b9777307368a0128e696fdfc9a6
diff --git a/resources/firmware/iPod1,1/7D11/url b/resources/firmware/iPod1,1/7D11/url
new file mode 100644
index 0000000..9f5319c
--- /dev/null
+++ b/resources/firmware/iPod1,1/7D11/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_3.1.2_7D11_Restore.ipsw
diff --git a/resources/firmware/iPod2,1/7A341/sha1sum b/resources/firmware/iPod2,1/7A341/sha1sum
new file mode 100644
index 0000000..aa52bff
--- /dev/null
+++ b/resources/firmware/iPod2,1/7A341/sha1sum
@@ -0,0 +1 @@
+0f7fc76d9b9aa826b5ab14be9821a315d3d9dc42
diff --git a/resources/firmware/iPod2,1/7A341/url b/resources/firmware/iPod2,1/7A341/url
new file mode 100644
index 0000000..bd170fe
--- /dev/null
+++ b/resources/firmware/iPod2,1/7A341/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod2,1_3.0_7A341_Restore.ipsw
diff --git a/resources/firmware/iPod2,1/7C145/sha1sum b/resources/firmware/iPod2,1/7C145/sha1sum
new file mode 100644
index 0000000..b1d9074
--- /dev/null
+++ b/resources/firmware/iPod2,1/7C145/sha1sum
@@ -0,0 +1 @@
+e0d8800a4fc7cc5be6976ddbceb43c2d2a7120d7
diff --git a/resources/firmware/iPod2,1/7C145/url b/resources/firmware/iPod2,1/7C145/url
new file mode 100644
index 0000000..e9dfe9e
--- /dev/null
+++ b/resources/firmware/iPod2,1/7C145/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_3.1.1_7C145_Restore.ipsw
diff --git a/resources/firmware/iPod2,1/7D11/sha1sum b/resources/firmware/iPod2,1/7D11/sha1sum
new file mode 100644
index 0000000..630e07a
--- /dev/null
+++ b/resources/firmware/iPod2,1/7D11/sha1sum
@@ -0,0 +1 @@
+e7c83d4a5baec0e81816ae1cd1caf9a4dc38ebf0
diff --git a/resources/firmware/iPod2,1/7D11/url b/resources/firmware/iPod2,1/7D11/url
new file mode 100644
index 0000000..9f5319c
--- /dev/null
+++ b/resources/firmware/iPod2,1/7D11/url
@@ -0,0 +1 @@
+https://invoxiplaygames.uk/ipsw/iPod1,1_3.1.2_7D11_Restore.ipsw
diff --git a/resources/jailbreak/fstab_new.tar b/resources/jailbreak/fstab_old.tar
similarity index 91%
rename from resources/jailbreak/fstab_new.tar
rename to resources/jailbreak/fstab_old.tar
index 6e0f174..10200fc 100644
Binary files a/resources/jailbreak/fstab_new.tar and b/resources/jailbreak/fstab_old.tar differ
diff --git a/resources/patch/old/iPhone1,1/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch b/resources/patch/WTF.s5l8900xall.RELEASE.patch
similarity index 100%
rename from resources/patch/old/iPhone1,1/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch
rename to resources/patch/WTF.s5l8900xall.RELEASE.patch
diff --git a/resources/patch/old/iPhone1,1/3.1.3/018-6494-014.dmg.patch b/resources/patch/old/iPhone1,1/3.1.3/018-6494-014.dmg.patch
deleted file mode 100644
index cfa7d8a..0000000
Binary files a/resources/patch/old/iPhone1,1/3.1.3/018-6494-014.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,1/3.1.3/iBoot.m68ap.RELEASE.img3.patch b/resources/patch/old/iPhone1,1/3.1.3/iBoot.m68ap.RELEASE.img3.patch
deleted file mode 100644
index b9a7866..0000000
Binary files a/resources/patch/old/iPhone1,1/3.1.3/iBoot.m68ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/3.1.3/018-6494-014.dmg.patch b/resources/patch/old/iPhone1,2/3.1.3/018-6494-014.dmg.patch
deleted file mode 100644
index e2d7939..0000000
Binary files a/resources/patch/old/iPhone1,2/3.1.3/018-6494-014.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch b/resources/patch/old/iPhone1,2/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch
deleted file mode 100644
index 7e5c5a5..0000000
Binary files a/resources/patch/old/iPhone1,2/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/3.1.3/iBoot.n82ap.RELEASE.img3.patch b/resources/patch/old/iPhone1,2/3.1.3/iBoot.n82ap.RELEASE.img3.patch
deleted file mode 100644
index 35d26ee..0000000
Binary files a/resources/patch/old/iPhone1,2/3.1.3/iBoot.n82ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/4.1/018-7079-079.dmg.patch b/resources/patch/old/iPhone1,2/4.1/018-7079-079.dmg.patch
deleted file mode 100644
index 45c81b9..0000000
Binary files a/resources/patch/old/iPhone1,2/4.1/018-7079-079.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/4.1/WTF.s5l8900xall.RELEASE.dfu.patch b/resources/patch/old/iPhone1,2/4.1/WTF.s5l8900xall.RELEASE.dfu.patch
deleted file mode 100644
index 420a189..0000000
Binary files a/resources/patch/old/iPhone1,2/4.1/WTF.s5l8900xall.RELEASE.dfu.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/4.1/iBoot.n82ap.RELEASE.img3.patch b/resources/patch/old/iPhone1,2/4.1/iBoot.n82ap.RELEASE.img3.patch
deleted file mode 100644
index 8043a73..0000000
Binary files a/resources/patch/old/iPhone1,2/4.1/iBoot.n82ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/4.2.1/038-0029-002.dmg.patch b/resources/patch/old/iPhone1,2/4.2.1/038-0029-002.dmg.patch
deleted file mode 100644
index ded3815..0000000
Binary files a/resources/patch/old/iPhone1,2/4.2.1/038-0029-002.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/4.2.1/WTF.s5l8900xall.RELEASE.dfu.patch b/resources/patch/old/iPhone1,2/4.2.1/WTF.s5l8900xall.RELEASE.dfu.patch
deleted file mode 100644
index 62fd74d..0000000
Binary files a/resources/patch/old/iPhone1,2/4.2.1/WTF.s5l8900xall.RELEASE.dfu.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone1,2/4.2.1/iBoot.n82ap.RELEASE.img3.patch b/resources/patch/old/iPhone1,2/4.2.1/iBoot.n82ap.RELEASE.img3.patch
deleted file mode 100644
index 92e85a9..0000000
Binary files a/resources/patch/old/iPhone1,2/4.2.1/iBoot.n82ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/3.1.3/018-6495-022.dmg.patch b/resources/patch/old/iPhone2,1/3.1.3/018-6495-022.dmg.patch
deleted file mode 100644
index c7fe7d1..0000000
Binary files a/resources/patch/old/iPhone2,1/3.1.3/018-6495-022.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/3.1.3/iBoot.n88ap.RELEASE.img3.patch b/resources/patch/old/iPhone2,1/3.1.3/iBoot.n88ap.RELEASE.img3.patch
deleted file mode 100644
index ec9a2e7..0000000
Binary files a/resources/patch/old/iPhone2,1/3.1.3/iBoot.n88ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/4.1/018-7080-079.dmg.patch b/resources/patch/old/iPhone2,1/4.1/018-7080-079.dmg.patch
deleted file mode 100644
index 83cfe32..0000000
Binary files a/resources/patch/old/iPhone2,1/4.1/018-7080-079.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/4.1/iBSS.n88ap.RELEASE.dfu.patch b/resources/patch/old/iPhone2,1/4.1/iBSS.n88ap.RELEASE.dfu.patch
deleted file mode 100644
index d1623eb..0000000
Binary files a/resources/patch/old/iPhone2,1/4.1/iBSS.n88ap.RELEASE.dfu.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/4.3.3/038-1447-003.dmg.patch b/resources/patch/old/iPhone2,1/4.3.3/038-1447-003.dmg.patch
deleted file mode 100644
index 8e0dc43..0000000
Binary files a/resources/patch/old/iPhone2,1/4.3.3/038-1447-003.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/4.3.3/iBoot.n88ap.RELEASE.img3.patch b/resources/patch/old/iPhone2,1/4.3.3/iBoot.n88ap.RELEASE.img3.patch
deleted file mode 100644
index f4d56f3..0000000
Binary files a/resources/patch/old/iPhone2,1/4.3.3/iBoot.n88ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/5.0.1/038-3713-001.dmg.patch b/resources/patch/old/iPhone2,1/5.0.1/038-3713-001.dmg.patch
deleted file mode 100644
index c2bc519..0000000
Binary files a/resources/patch/old/iPhone2,1/5.0.1/038-3713-001.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/5.0.1/iBoot.n88ap.RELEASE.img3.patch b/resources/patch/old/iPhone2,1/5.0.1/iBoot.n88ap.RELEASE.img3.patch
deleted file mode 100644
index c53b28c..0000000
Binary files a/resources/patch/old/iPhone2,1/5.0.1/iBoot.n88ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/5.1.1/038-4349-020.dmg.patch b/resources/patch/old/iPhone2,1/5.1.1/038-4349-020.dmg.patch
deleted file mode 100644
index 131516f..0000000
Binary files a/resources/patch/old/iPhone2,1/5.1.1/038-4349-020.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPhone2,1/5.1.1/iBoot.n88ap.RELEASE.img3.patch b/resources/patch/old/iPhone2,1/5.1.1/iBoot.n88ap.RELEASE.img3.patch
deleted file mode 100644
index 4b659e3..0000000
Binary files a/resources/patch/old/iPhone2,1/5.1.1/iBoot.n88ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPod1,1/3.1.3/018-6494-014.dmg.patch b/resources/patch/old/iPod1,1/3.1.3/018-6494-014.dmg.patch
deleted file mode 100644
index dda6246..0000000
Binary files a/resources/patch/old/iPod1,1/3.1.3/018-6494-014.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPod1,1/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch b/resources/patch/old/iPod1,1/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch
deleted file mode 100644
index 7e5c5a5..0000000
Binary files a/resources/patch/old/iPod1,1/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch and /dev/null differ
diff --git a/resources/patch/old/iPod1,1/3.1.3/iBoot.n45ap.RELEASE.img3.patch b/resources/patch/old/iPod1,1/3.1.3/iBoot.n45ap.RELEASE.img3.patch
deleted file mode 100644
index 5882422..0000000
Binary files a/resources/patch/old/iPod1,1/3.1.3/iBoot.n45ap.RELEASE.img3.patch and /dev/null differ
diff --git a/resources/patch/old/iPod2,1/3.1.3/018-6508-014.dmg.patch b/resources/patch/old/iPod2,1/3.1.3/018-6508-014.dmg.patch
deleted file mode 100644
index cb11f03..0000000
Binary files a/resources/patch/old/iPod2,1/3.1.3/018-6508-014.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPod2,1/4.1/018-7103-078.dmg.patch b/resources/patch/old/iPod2,1/4.1/018-7103-078.dmg.patch
deleted file mode 100644
index 087a1a0..0000000
Binary files a/resources/patch/old/iPod2,1/4.1/018-7103-078.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPod2,1/4.2.1/038-0049-002.dmg.patch b/resources/patch/old/iPod2,1/4.2.1/038-0049-002.dmg.patch
deleted file mode 100644
index 9fd1c87..0000000
Binary files a/resources/patch/old/iPod2,1/4.2.1/038-0049-002.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPod2,1/4.2.1/iBSS.n72ap.RELEASE.dfu.patch b/resources/patch/old/iPod2,1/4.2.1/iBSS.n72ap.RELEASE.dfu.patch
deleted file mode 100644
index a5762e7..0000000
Binary files a/resources/patch/old/iPod2,1/4.2.1/iBSS.n72ap.RELEASE.dfu.patch and /dev/null differ
diff --git a/resources/patch/old/iPod3,1/4.1/018-7081-078.dmg.patch b/resources/patch/old/iPod3,1/4.1/018-7081-078.dmg.patch
deleted file mode 100644
index 72227d1..0000000
Binary files a/resources/patch/old/iPod3,1/4.1/018-7081-078.dmg.patch and /dev/null differ
diff --git a/resources/patch/old/iPod3,1/4.1/iBSS.n18ap.RELEASE.dfu.patch b/resources/patch/old/iPod3,1/4.1/iBSS.n18ap.RELEASE.dfu.patch
deleted file mode 100644
index dd1f1c0..0000000
Binary files a/resources/patch/old/iPod3,1/4.1/iBSS.n18ap.RELEASE.dfu.patch and /dev/null differ
diff --git a/restore.sh b/restore.sh
index c79709f..3af9c25 100755
--- a/restore.sh
+++ b/restore.sh
@@ -128,6 +128,7 @@ set_tool_paths() {
case $UBUNTU_CODENAME in
"jammy" | "kinetic" ) ubuntu_ver=22;;
"lunar" | "mantic" ) ubuntu_ver=23;;
+ "noble" ) ubuntu_ver=24;;
esac
if [[ -z $ubuntu_ver ]]; then
. /etc/upstream-release/lsb-release 2>/dev/null
@@ -514,7 +515,7 @@ device_s5l8900xall() {
local wtf_sha="cb96954185a91712c47f20adb519db45a318c30f"
local wtf_saved="../saved/WTF.s5l8900xall.RELEASE.dfu"
local wtf_patched="$wtf_saved.patched"
- local wtf_patch="../resources/patch/old/iPhone1,1/3.1.3/WTF.s5l8900xall.RELEASE.dfu.patch"
+ local wtf_patch="../resources/patch/WTF.s5l8900xall.RELEASE.patch"
local wtf_sha_local="$($sha1sum "$wtf_saved" 2>/dev/null | awk '{print $1}')"
if [[ $wtf_sha_local != "$wtf_sha" ]]; then
log "Downloading WTF.s5l8900xall"
@@ -1040,8 +1041,8 @@ device_enter_mode() {
return
fi
log "Found an S5L8900 device in $device_mode mode. Your device needs to be in WTF mode to continue."
- print "* iOS 1 restores require WTF mode."
print "* Force restart your device and place it in normal or recovery mode, then re-enter WTF mode."
+ print "* You can enter WTF mode by doing the DFU mode procedure."
device_find_mode WTFreal 100
;;
@@ -1686,8 +1687,8 @@ ipsw_preference_set() {
return
fi
- if [[ $device_target_vers == "3.1.3" && $device_proc != 1 && $device_target_powder != 1 ]]; then
- #log "Jailbreak Option is always enabled for $device_target_vers"
+ if [[ $device_target_vers == "3.1"* && $device_proc != 1 && $device_target_powder != 1 ]]; then
+ log "Jailbreak Option is always enabled for 3.1.x ($device_target_vers)"
ipsw_jailbreak=1
elif [[ -z $ipsw_jailbreak && $ipsw_canjailbreak == 1 ]]; then
input "Jailbreak Option"
@@ -1724,10 +1725,9 @@ ipsw_preference_set() {
if [[ -n $ipsw_memory ]]; then
:
- elif [[ $device_type == "iPhone2,1" || $device_type == "iPod2,1" || $device_proc == 1 ]] && [[ $device_target_other != 1 ]]; then
- :
elif [[ $ipsw_jailbreak == 1 || $device_type == "$device_disable_bbupdate" ||
- $device_target_powder == 1 || $device_target_tethered == 1 ]] ||
+ $device_target_powder == 1 || $device_target_tethered == 1 ||
+ $device_type == "iPhone2,1" || $device_type == "iPod2,1" ]] ||
[[ $device_type == "iPad2"* && $device_target_vers == "4.3"* ]] ||
[[ $device_type == "iPad1,1" && $device_target_vers != "5"* ]] ||
[[ $device_type == "iPod3,1" && $device_target_vers != "5"* ]] ||
@@ -1978,6 +1978,9 @@ ipsw_prepare_jailbreak() {
local JBFiles2=()
local daibutsu
+ if [[ $1 == "old" ]]; then
+ daibutsu="old"
+ fi
if [[ $ipsw_jailbreak == 1 ]]; then
if [[ $device_target_vers == "8.4.1" ]]; then
ipsw_prepare_rebootsh
@@ -1991,25 +1994,30 @@ ipsw_prepare_jailbreak() {
else
JBFiles+=("fstab_rw.tar" "freeze.tar")
case $device_target_vers in
- 6.1.[36] ) JBFiles+=("p0sixspwn.tar");;
- 4.2.1 | 4.1 | 4.0* | 3* )
- JBFiles[0]="fstab_new.tar"
+ 6.1.[3456] ) JBFiles+=("p0sixspwn.tar");;
+ 6* ) JBFiles+=("evasi0n6-untether.tar");;
+ 4.2.1 | 4.1 | 4.0* | 3.1.3 )
+ JBFiles[0]="fstab_old.tar"
JBFiles+=("greenpois0n/${device_type}_${device_target_build}.tar")
;;
5* | 4.3* | 4.2* ) JBFiles+=("g1lbertJB/${device_type}_${device_target_build}.tar");;
esac
- for i in {0..2}; do
+ for i in {0..1}; do
JBFiles[i]=$jelbrek/${JBFiles[$i]}
done
+ case $device_target_vers in
+ 3.1 | 3.1.[12] ) JBFiles[0]="$jelbrek/fstab_old.tar";;
+ * ) JBFiles[2]=$jelbrek/${JBFiles[2]};;
+ esac
if [[ $device_target_vers == "4"* || $device_target_vers == "5"* ]]; then
JBFiles+=("$jelbrek/cydiasubstrate.tar")
fi
+ if [[ $device_target_vers == "3"* ]]; then
+ JBFiles+=("$jelbrek/cydiahttpatch.tar")
+ fi
if [[ $device_target_vers == "5"* ]]; then
JBFiles+=("$jelbrek/g1lbertJB.tar")
fi
- if [[ $ipsw_hacktivate == 1 ]]; then
- :
- fi
fi
ExtraArgs+=" -S 30" # system partition add
if [[ $ipsw_openssh == 1 ]]; then
@@ -2074,6 +2082,11 @@ ipsw_prepare_keys() {
fi
;;
+ "iBoot" )
+ echo -e "$compFileFirmware/all_flash/all_flash.${device_model}ap.production/$nameIV$ivKey$key" >> $NewPlist
+ echo -e "Patch$comp.${device_model}ap.RELEASE.patch" >> $NewPlist
+ ;;
+
"RestoreRamdisk" )
echo -e "Restore RamdiskFile$nameIV$ivKey$key" >> $NewPlist
;;
@@ -2087,10 +2100,29 @@ ipsw_prepare_keys() {
;;
"KernelCache" )
- echo -e "$compFile$nameIV$ivKey$keyDecryptPathDowngrade/$compPatch" >> $NewPlist
+ echo -e "$compFile$nameIV$ivKey$keyDecryptPathDowngrade/$comp" >> $NewPlist
+ if [[ -e $FirmwareBundle/kernelcache.release.patch ]]; then
+ echo -e "Patchkernelcache.release.patch" >> $NewPlist
+ else
+ echo -e "Patch" >> $NewPlist
+ fi
+ ;;
+
+ "LLB" )
+ echo -e "$compFileFirmware/all_flash/all_flash.${device_model}ap.production/$nameIV$ivKey$keyPatchLLB.${device_model}ap.RELEASE.img3" >> $NewPlist
+ if [[ $device_proc != 1 ]]; then
+ echo -e "IsPlain" >> $NewPlist
+ fi
+ ;;
+
+ "WTF2" )
+ echo -e "WTF 2FileFirmware/dfu/WTF.s5l8900xall.RELEASE.dfuPatchWTF.s5l8900xall.RELEASE.patch" >> $NewPlist
;;
esac
- echo -e "Decrypt" >> $NewPlist
+ if [[ $2 != "old" ]]; then
+ echo -e "Decrypt" >> $NewPlist
+ fi
+ echo -e "" >> $NewPlist
}
ipsw_prepare_paths() {
@@ -2240,7 +2272,12 @@ ipsw_prepare_bundle() {
if [[ $device_target_vers == "3.2"* ]]; then
RootSize=1000
elif [[ $device_target_vers == "3"* ]]; then
- RootSize=520
+ case $device_type in
+ iPod1,1 ) RootSize=413;;
+ iPhone1,[12] ) RootSize=420;;
+ iPod2,1 ) RootSize=450;;
+ * ) RootSize=750;;
+ 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')
@@ -2309,6 +2346,8 @@ ipsw_prepare_bundle() {
echo -e "Hacktivation" >> $NewPlist
echo -e "ActionPatchFileusr/libexec/lockdownd" >> $NewPlist
echo -e "Patchlockdownd.patch" >> $NewPlist
+ else
+ echo -e "FilesystemPatches" >> $NewPlist # ipsw segfaults if this is missing lol
fi
else
echo -e "FilesystemPackageRamdiskPackage" >> $NewPlist
@@ -2321,9 +2360,37 @@ ipsw_prepare_bundle() {
ipsw_prepare_keys iBSS $1
ipsw_prepare_keys RestoreRamdisk $1
echo -e "" >> $NewPlist
+ elif [[ $2 == "old" ]]; then
+ echo -e "FirmwarePatches" >> $NewPlist
+ ipsw_prepare_keys iBSS $1
+ if [[ $vers != "3"* && $vers != "4"* ]]; then
+ ipsw_prepare_keys iBEC $1
+ fi
+ ipsw_prepare_keys RestoreRamdisk $1
+ if [[ $device_type == "iPod2,1" && $device_target_vers == "3.1.3" ]]; then
+ :
+ elif [[ $device_proc == 1 ]]; then
+ ipsw_prepare_keys iBoot $1
+ ipsw_prepare_keys KernelCache $1
+ #ipsw_prepare_keys LLB $1
+ ipsw_prepare_keys WTF2 $1
+ else
+ case $device_target_vers in
+ 6.1.6 | 4.2.1 | 4.1 ) :;;
+ 3.0* )
+ ipsw_prepare_keys iBoot $1
+ #ipsw_prepare_keys LLB $1
+ ;;
+ * )
+ ipsw_prepare_keys iBoot $1
+ ipsw_prepare_keys KernelCache $1
+ #ipsw_prepare_keys LLB $1
+ ;;
+ esac
+ fi
+ echo -e "" >> $NewPlist
else
if [[ -d $FirmwareBundle2 ]]; then
- echo -e "FilesystemPatches" >> $NewPlist # ipsw segfaults if this is missing lol
echo -e "FirmwarePatches" >> $NewPlist
else
echo -e "Firmware" >> $NewPlist
@@ -2344,6 +2411,29 @@ ipsw_prepare_bundle() {
else
ipsw_prepare_keys RestoreKernelCache $1
fi
+ if [[ $1 == "old" ]]; then
+ if [[ $device_type == "iPod2,1" && $device_target_vers == "3.1.3" ]]; then
+ :
+ elif [[ $device_proc == 1 ]]; then
+ ipsw_prepare_keys iBoot $1
+ ipsw_prepare_keys KernelCache $1
+ #ipsw_prepare_keys LLB $1
+ ipsw_prepare_keys WTF2 $1
+ else
+ case $device_target_vers in
+ 6.1.6 | 4.2.1 | 4.1 ) :;;
+ 3.0* )
+ ipsw_prepare_keys iBoot $1
+ #ipsw_prepare_keys LLB $1
+ ;;
+ * )
+ ipsw_prepare_keys iBoot $1
+ ipsw_prepare_keys KernelCache $1
+ #ipsw_prepare_keys LLB $1
+ ;;
+ esac
+ fi
+ fi
echo -e "" >> $NewPlist
fi
@@ -2495,6 +2585,16 @@ patch_iboot() {
echo "0000020: 6365" | xxd -r - iBoot
}
+ipsw_patch_file() {
+ # usage: ipsw_patch_file
+ "$dir/hfsplus" "$1" extract "$2"/"$3"
+ "$dir/hfsplus" "$1" rm "$2"/"$3"
+ $bspatch "$3" "$3".patched "$4"
+ "$dir/hfsplus" "$1" add "$3".patched "$2"/"$3"
+ "$dir/hfsplus" "$1" chmod 755 "$2"/"$3"
+ "$dir/hfsplus" "$1" chown 0:0 "$2"/"$3"
+}
+
ipsw_prepare_ios4multipart() {
local JBFiles=()
ipsw_custom_part2="${device_type}_${device_target_vers}_${device_target_build}_CustomNP-${device_ecid}"
@@ -2607,12 +2707,7 @@ ipsw_prepare_ios4multipart() {
"$dir/hfsplus" ramdisk.dec add $options_plist usr/local/share/restore/$options_plist
log "Patch ASR"
- "$dir/hfsplus" ramdisk.dec extract usr/sbin/asr
- "$dir/hfsplus" ramdisk.dec rm usr/sbin/asr
- $bspatch asr asr.patched asr.patch
- "$dir/hfsplus" ramdisk.dec add asr.patched usr/sbin/asr
- "$dir/hfsplus" ramdisk.dec chmod 755 usr/sbin/asr
- "$dir/hfsplus" ramdisk.dec chown 0:0 usr/sbin/asr
+ ipsw_patch_file ramdisk.dec usr/sbin asr asr.patch
log "Repack Restore Ramdisk"
"$dir/xpwntool" ramdisk.dec $ipsw_custom_part2/$ramdisk_name -t RestoreRamdisk.orig
@@ -2739,12 +2834,7 @@ ipsw_prepare_ios4multipart() {
log "Patch ASR"
cp ../resources/firmware/FirmwareBundles/Down_${device_type}_${vers}_${build}.bundle/asr.patch .
- "$dir/hfsplus" RestoreRamdisk.dec extract usr/sbin/asr
- "$dir/hfsplus" RestoreRamdisk.dec rm usr/sbin/asr
- $bspatch asr asr.patched asr.patch
- "$dir/hfsplus" RestoreRamdisk.dec add asr.patched usr/sbin/asr
- "$dir/hfsplus" RestoreRamdisk.dec chmod 755 usr/sbin/asr
- "$dir/hfsplus" RestoreRamdisk.dec chown 0:0 usr/sbin/asr
+ ipsw_patch_file RestoreRamdisk.dec usr/sbin asr asr.patch
log "Extract options.plist from $device_target_vers IPSW"
unzip -o -j temp.ipsw $ramdisk_name
@@ -2987,17 +3077,18 @@ ipsw_prepare_powder() {
mv temp.ipsw "$ipsw_custom.ipsw"
}
-ipsw_prepare_custom() {
- local comps=("iBSS" "RestoreRamdisk")
- local name
- local iv
- local key
- local path
- local url
- local decrypt
- local patch="../resources/patch/old/$device_type/$device_target_vers"
- local RootSize
+ipsw_prepare_patchllb() {
+ local path="Firmware/all_flash/all_flash.${device_model}ap.production"
+ local name="LLB.${device_model}ap.RELEASE"
+ local patch="../resources/firmware/FirmwareBundles/Down_${device_type}_${device_target_vers}_${device_target_build}.bundle"
+ unzip -o -j "$ipsw_custom.ipsw" $path/$name.img3
+ $bspatch $name.img3 $name.patched $patch/$name.patch
+ mkdir -p $path
+ mv $name.patched $path/$name.img3
+ zip -r0 "$ipsw_custom.ipsw" $path/$name.img3
+}
+ipsw_prepare_custom() {
if [[ -e "$ipsw_custom.ipsw" ]]; then
log "Found existing Custom IPSW. Skipping IPSW creation."
return
@@ -3006,169 +3097,17 @@ ipsw_prepare_custom() {
return
fi
- if [[ $device_target_vers == "5"* || $device_target_vers == "6"* ]]; then
- comps+=("iBEC")
- fi
+ ipsw_prepare_jailbreak old
if [[ $device_type == "iPod2,1" && $device_target_vers == "3.1.3" ]]; then
:
elif [[ $device_proc == 1 ]]; then
- comps+=("iBoot" "Kernelcache" "LLB")
+ ipsw_prepare_patchllb
else
case $device_target_vers in
6.1.6 | 4.2.1 | 4.1 ) :;;
- * ) comps+=("iBoot" "Kernelcache" "LLB");;
+ * ) ipsw_prepare_patchllb;;
esac
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
- if [[ -z $name ]]; then
- case $getcomp in
- "iBSS" ) name="iBSS.${device_model}ap.RELEASE.dfu";;
- "LLB" ) name="LLB.${device_model}ap.RELEASE.img3";;
- esac
- fi
-
- log "Patching $getcomp: $name"
- 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
- if [[ $device_proc == 1 ]]; then
- local path="Firmware/dfu/"
- local name="WTF.s5l8900xall.RELEASE.dfu"
- log "Patching WTF: $name"
- cp "$ipsw_path/${path}$name" .
- mv $name $name.orig
- $bspatch $name.orig $name $patch/$name.patch
- cp $name "$ipsw_path/$path"
- fi
-
- log "Getting RootFS information"
- "$dir/hfsplus" Ramdisk.raw extract usr/local/share/restore/options.$device_model.plist >/dev/null
- 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"* ]]; then
- case $device_type in
- iPhone1,[12] ) RootSize=420;;
- iPhone2,1 ) RootSize=530;;
- iPod1,1 ) RootSize=413;;
- iPod2,1 ) RootSize=450;;
- 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 $jelbrek/freeze.tar
- log "Extracting untether"
- case $device_target_vers in
- "6.1.6" ) "$dir/hfsplus" out.dmg untar $jelbrek/p0sixspwn.tar;;
- "5"* )
- "$dir/hfsplus" out.dmg untar $jelbrek/g1lbertJB/${device_type}_${device_target_build}.tar
- "$dir/hfsplus" out.dmg untar $jelbrek/g1lbertJB.tar
- ;;
- "4.2.1" )
- if [[ $device_proc != 1 ]]; then
- "$dir/hfsplus" out.dmg mv sbin/launchd sbin/punchd
- "$dir/hfsplus" out.dmg untar $jelbrek/greenpois0n/${device_type}_${device_target_build}.tar
- fi
- ;;
- "4.1" ) "$dir/hfsplus" out.dmg untar $jelbrek/greenpois0n/${device_type}_${device_target_build}.tar;;
- "4.3"* | "4.2"* ) "$dir/hfsplus" out.dmg untar $jelbrek/g1lbertJB/${device_type}_${device_target_build}.tar;;
- esac
- case $device_target_vers in
- "4"* | "3.1.3" )
- "$dir/hfsplus" out.dmg rm private/etc/fstab
- "$dir/hfsplus" out.dmg add $jelbrek/fstab_old private/etc/fstab
- ;;
- esac
- if [[ $device_type == "iPod2,1" && $device_target_vers == "3.1.3" ]]; then
- "$dir/hfsplus" out.dmg untar $jelbrek/greenpois0n/${device_type}_${device_target_build}.tar
- fi
- if [[ $device_target_vers != "6"* ]]; then
- "$dir/hfsplus" out.dmg untar $jelbrek/cydiasubstrate.tar
- fi
- if [[ $device_target_vers == "3.1.3" ]]; then
- "$dir/hfsplus" out.dmg untar $jelbrek/cydiahttpatch.tar
- fi
- if [[ $ipsw_openssh == 1 ]]; then
- "$dir/hfsplus" out.dmg untar $jelbrek/sshdeb.tar
- fi
- if [[ $ipsw_hacktivate == 1 ]]; then
- log "Patching lockdownd for hacktivation"
- "$dir/hfsplus" out.dmg extract usr/libexec/lockdownd
- "$dir/hfsplus" out.dmg mv usr/libexec/lockdownd usr/libexec/lockdownd.orig
- $bspatch lockdownd lockdownd.patched $patch/lockdownd.patch
- "$dir/hfsplus" out.dmg add lockdownd.patched usr/libexec/lockdownd
- "$dir/hfsplus" out.dmg chmod 755 usr/libexec/lockdownd
- fi
- 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" >/dev/null
- case $device_target_vers in
- 6.1.6 | 4.2.1 | 4.1 ) :;;
- * ) rm BuildManifest.plist;;
- esac
- zip -r0 ../tmp/temp.ipsw *
- popd >/dev/null
-
- 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() {
@@ -3441,6 +3380,10 @@ restore_futurerestore() {
restore_latest() {
local idevicerestore2="$idevicerestore"
local ExtraArgs="-e"
+ if [[ $device_latest_vers == "12"* || $device_latest_vers == "15"* ]]; then
+ idevicerestore2+="2"
+ ExtraArgs+="y"
+ fi
if [[ $1 == "custom" ]]; then
ExtraArgs+="c"
ipsw_path="$ipsw_custom"
@@ -3681,6 +3624,10 @@ restore_prepare() {
;;
esac
if [[ $device_latest_vers == "15"* ]]; then
+ if [[ $device_target_vers == "$device_latest_vers" ]]; then
+ restore_latest
+ return
+ fi
device_enter_mode pwnDFU
if [[ ! -s ../resources/firmware.json ]]; then
log "Downloading firmwares.json from ipsw.me"
@@ -4082,7 +4029,7 @@ device_ramdisk() {
$scp -P 2222 $jelbrek/$untether root@127.0.0.1:/mnt1
# 3.1.3-4.1 untether needs to be extracted early (before data partition is mounted)
case $vers in
- 4.1 | 4.0* | 3* )
+ 4.1 | 4.0* | 3.1* )
untether="${device_type}_${build}.tar"
log "Extracting $untether"
$ssh -p 2222 root@127.0.0.1 "tar -xvf /mnt1/$untether -C /mnt1; rm /mnt1/$untether"
@@ -4380,11 +4327,9 @@ menu_ipa() {
menu_ipa_browse() {
local newpath
- input "Select your IPA file in the file selection window."
- newpath="$($zenity --file-selection --file-filter='IPA | *.ipa' --title="Select IPA file")"
- [[ ! -s "$newpath" ]] && read -p "$(input "Enter path to IPA file (or press Ctrl+C to cancel): ")" newpath
- [[ ! -s "$newpath" ]] && return
- log "Selected IPA file: $newpath"
+ input "Select your IPA file(s) in the file selection window."
+ newpath="$($zenity --file-selection --multiple --file-filter='IPA | *.ipa' --title="Select IPA file(s)")"
+ [[ -z "$newpath" ]] && read -p "$(input "Enter path to IPA file (or press Ctrl+C to cancel): ")" newpath
ipa_path="$newpath"
}
@@ -4489,7 +4434,6 @@ menu_shsh_onboard() {
done
}
-
menu_restore() {
local menu_items
local selected
@@ -4507,11 +4451,13 @@ menu_restore() {
iPad2,[123] | iPhone4,1 )
menu_items+=("iOS 6.1.3");;
iPhone2,1 )
- menu_items+=("5.1.1" "5.0.1" "4.3.3" "4.1" "3.1.3");;
+ menu_items+=("5.1.1" "4.3.3" "4.1" "3.1.3" "More versions");;
iPod3,1 )
menu_items+=("4.1");;
- iPhone1,2 | iPod2,1 )
+ iPhone1,2 )
menu_items+=("4.1" "3.1.3");;
+ iPod2,1 )
+ menu_items+=("4.1" "3.1.3" "More versions");;
esac
case $device_type in
iPhone3,[13] | iPad1,1 | iPod3,1 )
@@ -4519,6 +4465,8 @@ menu_restore() {
esac
if (( device_proc < 7 )); then
menu_items+=("Latest iOS ($device_latest_vers)")
+ elif [[ $platform == "linux" ]]; then
+ menu_items+=("Latest iOS ($device_latest_vers)")
fi
case $device_type in
iPhone4,1 | iPhone5,[1234] | iPad2,4 | iPad3,[456] | iPod5,1 )
@@ -4557,7 +4505,10 @@ menu_restore() {
print "* iOS 1 may require the usage of ZiPhone: https://nitter.net/tihmstar/status/1734620913071542435"
echo
fi
- if [[ $device_type == "iPod2,1" ]]; then
+ if [[ $device_newbr != 0 ]]; then
+ print "* New bootrom devices might be incompatible with some older iOS versions"
+ echo
+ elif [[ $device_type == "iPod2,1" ]]; then
print "* Select \"Other (Custom IPSW)\" to restore to any iOS version (2.1.1 to 3.0)"
echo
fi
@@ -4572,6 +4523,45 @@ menu_restore() {
"Go Back" ) back=1;;
"Other (Custom IPSW)" ) mode="customipsw";;
"DFU IPSW" ) mode="dfuipsw${1}";;
+ "More versions" ) menu_restore_more "$1";;
+ * ) menu_ipsw "$selected" "$1";;
+ esac
+ done
+}
+
+menu_restore_more() {
+ local menu_items
+ local selected
+ local back
+
+ while [[ -z "$mode" && -z "$back" ]]; do
+ menu_items=()
+ case $device_type in
+ iPhone2,1 )
+ menu_items+=("6.1.3" "6.1.2" "6.1" "6.0.1" "6.0" "5.1" "5.0.1" "5.0" "4.3.2" "4.3.1" "4.3")
+ menu_items+=("4.2.1" "4.0.2" "4.0.1" "4.0" "3.1.2" "3.1" "3.0.1" "3.0")
+ ;;
+ iPod2,1 ) menu_items+=("4.0.2" "4.0");;
+ esac
+ menu_items+=("Go Back")
+ menu_print_info
+ if [[ $1 == "ipsw" ]]; then
+ print " > Main Menu > Other Utilities > Create Custom IPSW"
+ else
+ print " > Main Menu > Restore/Downgrade"
+ fi
+ if [[ -z $1 && $device_type == "iPod2,1" && $device_newbr != 0 ]]; then
+ warn "These versions are for old bootrom devices only. They will not work on your device"
+ echo
+ fi
+ input "Select an option:"
+ select opt in "${menu_items[@]}"; do
+ selected="$opt"
+ break
+ done
+ case $selected in
+ "" ) :;;
+ "Go Back" ) back=1;;
* ) menu_ipsw "$selected" "$1";;
esac
done
@@ -4618,31 +4608,6 @@ menu_ipsw() {
device_target_vers="6.1.3"
device_target_build="10B329"
;;
- "5.1.1" )
- device_target_vers="5.1.1"
- device_target_build="9B206"
- device_canhacktivate=1
- ;;
- "5.0.1" )
- device_target_vers="5.0.1"
- device_target_build="9A405"
- device_canhacktivate=1
- ;;
- "4.3.3" )
- device_target_vers="4.3.3"
- device_target_build="8J2"
- device_canhacktivate=1
- ;;
- "4.1" )
- device_target_vers="4.1"
- device_target_build="8B117"
- device_canhacktivate=1
- ;;
- "3.1.3" )
- device_target_vers="3.1.3"
- device_target_build="7E18"
- device_canhacktivate=1
- ;;
"Latest iOS"* )
device_target_vers="$device_latest_vers"
device_target_build="$device_latest_build"
@@ -4650,17 +4615,51 @@ menu_ipsw() {
"6.1.6" | "4.2.1" | "3.1.3" ) device_canhacktivate=1;;
esac
;;
+ 5* | 4* | 3* )
+ device_target_vers="$1"
+ device_canhacktivate=1
+ ;;
+ esac
+ case $1 in
+ "5.1.1" ) device_target_build="9B206";;
+ "5.1" ) device_target_build="9B176";;
+ "5.0.1" ) device_target_build="9A405";;
+ "5.0" ) device_target_build="9A334";;
+ "4.3.5" ) device_target_build="8L1";;
+ "4.3.4" ) device_target_build="8K2";;
+ "4.3.3" ) device_target_build="8J2";;
+ "4.3.2" ) device_target_build="8H7";;
+ "4.3.1" ) device_target_build="8G4";;
+ "4.3" ) device_target_build="8F190";;
+ "4.2.1" )
+ device_target_build="8C148"
+ if [[ $device_type == "iPhone2,1" ]]; then
+ device_target_build+="a"
+ fi
+ ;;
+ "4.1" ) device_target_build="8B117";;
+ "4.0.2" ) device_target_build="8A400";;
+ "4.0.1" ) device_target_build="8A306";;
+ "4.0" ) device_target_build="8A293";;
+ "3.1.3" ) device_target_build="7E18";;
+ "3.1.2" ) device_target_build="7D11";;
+ "3.1.1" ) device_target_build="7C145";;
+ "3.1" ) device_target_build="7C144";;
+ "3.0.1" ) device_target_build="7A400";;
+ "3.0" ) device_target_build="7A341";;
esac
if [[ $device_target_vers == "$device_latest_vers" ]]; then
case $device_type in
iPad3,[456] ) newpath="iPad_32bit";;
iPad4,[123456] ) newpath="iPad_64bit";;
- iPad4,[789] ) newpath="iPad_64bit_TouchID";;
iPhone5,[1234] ) newpath="iPhone_4.0_32bit";;
- iPhone6,[12] ) newpath="iPhone_4.0_64bit";;
- iPhone7,1 ) newpath="iPhone_5.5";;
- iPhone7,2 ) newpath="iPhone_4.7";;
- iPod7,1 ) newpath="iPodtouch";;
+ iPod[79],1 ) newpath="iPodtouch";;
+ iPhone9,[13] ) newpath="iPhone_4.7_P3";;
+ iPhone9,[24] ) newpath="iPhone_5.5_P3";;
+ iPad4,[789] | iPad5* ) newpath="iPad_64bit_TouchID";;
+ iPhone6,[12] | iPhone8,4 ) newpath="iPhone_4.0_64bit";;
+ iPhone7,1 | iPhone8,2 ) newpath="iPhone_5.5";;
+ iPhone7,2 | iPhone8,1 ) newpath="iPhone_4.7";;
* ) newpath="${device_type}";;
esac
newpath+="_${device_target_vers}_${device_target_build}_Restore"
@@ -5303,7 +5302,7 @@ restore_customipsw() {
if [[ -z $ipsw_path ]]; then
error "No IPSW selected, cannot continue."
fi
- if [[ $device_target_vers == "1"* ]]; then
+ if [[ $device_proc == 1 ]]; then
device_enter_mode WTFreal
else
device_enter_mode pwnDFU
@@ -5389,8 +5388,12 @@ device_enter_ramdisk() {
}
device_ideviceinstaller() {
- log "Installing selected IPA to device using ideviceinstaller..."
- "$dir/ideviceinstaller" install "$ipa_path"
+ log "Installing selected IPA(s) to device using ideviceinstaller..."
+ IFS='|' read -r -a ipa_files <<< "$ipa_path"
+ for i in "${ipa_files[@]}"; do
+ log "Installing: $i"
+ "$dir/ideviceinstaller" install "$i"
+ done
}
device_altserver_linux() {