Fix and add stuff

This commit is contained in:
LukeZGD 2023-09-14 16:10:52 +08:00
parent f34f161190
commit 1705ecc0d9
83 changed files with 165 additions and 171 deletions

1
.gitignore vendored
View File

@ -15,6 +15,7 @@ iP*DFUIPSW/
iP*Restore/
resources/ch3rryflower/
resources/ipwndfu/
resources/jailbreak/g1lbertJB/payload/Cydia.tar
resources/powdersn0w/
resources/ramdisk/
saved/

View File

@ -17,7 +17,7 @@
- Device support is limited, see below
- Hacktivation for iPhone 2G, 3G, 3GS (activate without valid SIM card)
- Option to **jailbreak** all 32-bit iOS devices
- Available on iOS versions 3.1.3, 3.2.2, 4.x, 5.x, 6.x, 7.x, 8.x
- Available on iOS versions 3.1.3, 3.2.2, 4.x, 5.x, 6.x, 7.x, 8.x, 9.1-9.3.4
- Only unsupported version is jailbreaking iPad 2 on 4.3.x
- There are two methods of jailbreaking: Custom IPSW and SSH Ramdisk
- Restore to iOS 10.3.3 on supported A7 devices **(OTA signed)**
@ -146,6 +146,7 @@
- [unthredeh4il](https://www.theiphonewiki.com/wiki/Unthredera1n#unthredeh4il)
- [evasi0n](https://www.theiphonewiki.com/wiki/Evasi0n)
- [pris0nbarake](https://github.com/LukeZGD/pris0nbarake) - LukeZGD fork
- [UntetherHomeDepot](https://www.theiphonewiki.com/wiki/UntetherHomeDepot)
- [Corona](https://www.theiphonewiki.com/wiki/Corona) and [Rocky Racoon](https://www.theiphonewiki.com/wiki/Rocky_Racoon)
- [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)

View File

@ -1 +0,0 @@
f88ef4c74a807499e37b7d839155b1975683986a

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11191/9C8AD5DA-A9F2-41DE-BCD2-C5D2FFE6F3E1/iPad_64bit_TouchID_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
f88ef4c74a807499e37b7d839155b1975683986a

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11191/9C8AD5DA-A9F2-41DE-BCD2-C5D2FFE6F3E1/iPad_64bit_TouchID_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
f88ef4c74a807499e37b7d839155b1975683986a

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11191/9C8AD5DA-A9F2-41DE-BCD2-C5D2FFE6F3E1/iPad_64bit_TouchID_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
f88ef4c74a807499e37b7d839155b1975683986a

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11191/9C8AD5DA-A9F2-41DE-BCD2-C5D2FFE6F3E1/iPad_64bit_TouchID_15.7.8_19H364_Restore.ipsw

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
9f7dcc672fd54a3aeefcabbcd547c0e53818513d

View File

@ -0,0 +1 @@
9105653341b2e35e28547a58b466666e8159f5b7

View File

@ -1 +0,0 @@
d58ade6df26def2741a7604b432076ea8596f187

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11079/8B193B6E-DF26-49E4-9A71-A350C9F81182/iPhone_4.7_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
9bbe7b58070e759a508f00012ed01d4fbec30f3c

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11201/39A7EA5C-CF8B-4DCC-A5DA-4364D4C54273/iPhone_5.5_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
8df13627173fe10f4aa6a14a7d5094817f009c7a

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11135/B6B14095-D5FF-41BB-95EF-18F1E69ED1C0/iPhone_4.0_64bit_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
92e902db667e996085ec33e99656659f619129c5

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11172/55F7740C-4C63-45A9-BE68-E381FE338D3B/iPhone_4.7_P3_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
27f4456c5721b36d4adee6efe5885b7ee29e6adf

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11219/E6871AA1-4B1B-4AE4-BBB6-72B1B4170B48/iPhone_5.5_P3_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
92e902db667e996085ec33e99656659f619129c5

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11172/55F7740C-4C63-45A9-BE68-E381FE338D3B/iPhone_4.7_P3_15.7.8_19H364_Restore.ipsw

View File

@ -1 +0,0 @@
27f4456c5721b36d4adee6efe5885b7ee29e6adf

View File

@ -1 +0,0 @@
https://updates.cdn-apple.com/2023WinterFCS/fullrestores/042-11219/E6871AA1-4B1B-4AE4-BBB6-72B1B4170B48/iPhone_5.5_P3_15.7.8_19H364_Restore.ipsw

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"identifier": "iPod2,1", "buildid": "8B117", "codename": "Baker", "restoreramdiskexists": true, "updateramdiskexists": true, "keys": [{"image": "RootFS", "filename": "018-7058-113.dmg", "date": "2023-06-11T18:54:40.632712", "key": "aec4d2f3c6a4e70ea6cea074f65812d2a34b180cc92b817edcd867167e7a91c5beb942f0"}, {"image": "UpdateRamdisk", "filename": "018-7104-078.dmg", "date": "2023-06-11T18:54:40.632730", "iv": "14a6e0d2cabcc52db99cb9174d2f8b4d", "key": "52d4dac40dbbcdf6511ae9f7e24025ef", "kbag": "14a6e0d2cabcc52db99cb9174d2f8b4d52d4dac40dbbcdf6511ae9f7e24025ef"}, {"image": "RestoreRamdisk", "filename": "018-7103-078.dmg", "date": "2023-06-11T18:54:40.632739", "iv": "58df0d0655bbdda2a0f1c09333940701", "key": "fbf443110eb11d8d1aacdbe39167de09", "kbag": "58df0d0655bbdda2a0f1c09333940701fbf443110eb11d8d1aacdbe39167de09"}, {"image": "AppleLogo", "filename": "applelogo.s5l8720x.img3", "date": "2023-06-11T18:54:40.632747", "iv": "34e793bdc37740688bc5da1cc8bf548d", "key": "d9c1aa3156a4dd03c958a01e062f2615", "kbag": "34e793bdc37740688bc5da1cc8bf548dd9c1aa3156a4dd03c958a01e062f2615"}, {"image": "BatteryCharging0", "filename": "batterycharging0.s5l8720x.img3", "date": "2023-06-11T18:54:40.632755", "iv": "436257988b34420e33c5572b402ff3c6", "key": "0850cafff29a8b7aab8effd03ae6849f", "kbag": "436257988b34420e33c5572b402ff3c60850cafff29a8b7aab8effd03ae6849f"}, {"image": "BatteryCharging1", "filename": "batterycharging1.s5l8720x.img3", "date": "2023-06-11T18:54:40.632765", "iv": "cbbd361502215cdab3a50437d8335b2d", "key": "49aa098400caba50c363d1bb2ca691cc", "kbag": "cbbd361502215cdab3a50437d8335b2d49aa098400caba50c363d1bb2ca691cc"}, {"image": "BatteryFull", "filename": "batteryfull.s5l8720x.img3", "date": "2023-06-11T18:54:40.632773", "iv": "3aedab4a01916dc6e947ec29f29cc708", "key": "e97d2015fcb87d811b1e48ebf62bf1e5", "kbag": "3aedab4a01916dc6e947ec29f29cc708e97d2015fcb87d811b1e48ebf62bf1e5"}, {"image": "BatteryLow0", "filename": "batterylow0.s5l8720x.img3", "date": "2023-06-11T18:54:40.632780", "iv": "ee14e49bf5344a17d8dc90690c9b5e5f", "key": "165195c9286e673ad55c3d577d38f65f", "kbag": "ee14e49bf5344a17d8dc90690c9b5e5f165195c9286e673ad55c3d577d38f65f"}, {"image": "BatteryLow1", "filename": "batterylow1.s5l8720x.img3", "date": "2023-06-11T18:54:40.632788", "iv": "46746bd0f7af9d1cc91f7cb267812019", "key": "47fb3faf8056c1d263fe5c3a4e77d7f3", "kbag": "46746bd0f7af9d1cc91f7cb26781201947fb3faf8056c1d263fe5c3a4e77d7f3"}, {"image": "DeviceTree", "filename": "DeviceTree.n72ap.img3", "date": "2023-06-11T18:54:40.632796", "iv": "68150cdacf653d6680d83c170c299e9c", "key": "771ed018061411f71dc19e548c77f614", "kbag": "68150cdacf653d6680d83c170c299e9c771ed018061411f71dc19e548c77f614"}, {"image": "GlyphCharging", "filename": "glyphcharging.s5l8720x.img3", "date": "2023-06-11T18:54:40.632803", "iv": "54ff4e5786a74511f68abfa595134148", "key": "b1e5280d64b5c83b351b0d98a2f685bd", "kbag": "54ff4e5786a74511f68abfa595134148b1e5280d64b5c83b351b0d98a2f685bd"}, {"image": "GlyphPlugin", "filename": "glyphplugin.s5l8720x.img3", "date": "2023-06-11T18:54:40.632811", "iv": "0dabfbf336f4586188deeddfc506f70d", "key": "36fa7cf6482425d43c083aaf1e442b85", "kbag": "0dabfbf336f4586188deeddfc506f70d36fa7cf6482425d43c083aaf1e442b85"}, {"image": "iBEC", "filename": "iBEC.n72ap.RELEASE.dfu", "date": "2023-06-11T18:54:40.632818", "iv": "40cecf39bc971dce828415c7dffce3ea", "key": "7341c6fb2cc09fe6d43067f7e426f708", "kbag": "40cecf39bc971dce828415c7dffce3ea7341c6fb2cc09fe6d43067f7e426f708"}, {"image": "iBoot", "filename": "iBoot.n72ap.RELEASE.img3", "date": "2023-06-11T18:54:40.632826", "iv": "07751c86d421a18d427ac7f94a74d747", "key": "0359d66dd638e5c87e83b4e4daa941bf", "kbag": "07751c86d421a18d427ac7f94a74d7470359d66dd638e5c87e83b4e4daa941bf"}, {"image": "iBSS", "filename": "iBSS.n72ap.RELEASE.dfu", "date": "2023-06-11T18:54:40.632833", "iv": "f7ed98e14e9f7f01397639a4424ef175", "key": "abcc0848b65d7e2e675f8030ea37f325", "kbag": "f7ed98e14e9f7f01397639a4424ef175abcc0848b65d7e2e675f8030ea37f325"}, {"image": "Kernelcache", "filename": "kernelcache.release.n72", "date": "2023-06-11T18:54:40.632841", "iv": "57d4e27152d39af674492eb0a8252de3", "key": "7c07730b6ceb8b217653ff5161988b24", "kbag": "57d4e27152d39af674492eb0a8252de37c07730b6ceb8b217653ff5161988b24"}, {"image": "LLB", "filename": "LLB.n72ap.RELEASE.img3", "date": "2023-06-11T18:54:40.632848", "iv": "dfe17fee96d9f0ecdbc85f5e01734468", "key": "74228645eb2187b4666d4b46c38af72a", "kbag": "dfe17fee96d9f0ecdbc85f5e0173446874228645eb2187b4666d4b46c38af72a"}, {"image": "RecoveryMode", "filename": "recoverymode.s5l8720x.img3", "date": "2023-06-11T18:54:40.632856", "iv": "747374eab209b7771b6dbae1584d959b", "key": "e23ac05ed877592c3ab4a79f1670bc7f", "kbag": "747374eab209b7771b6dbae1584d959be23ac05ed877592c3ab4a79f1670bc7f"}]}

View File

@ -0,0 +1 @@
{"identifier": "iPod2,1", "buildid": "8C148", "codename": "Jasper", "restoreramdiskexists": true, "updateramdiskexists": true, "keys": [{"image": "RootFS", "filename": "038-0014-002.dmg", "date": "2023-06-11T18:54:45.499144", "key": "519ec112b4af0a65eab6ea65b222c5b7f605ce52ad9195640e3309de58dd54ab0a0c9607"}, {"image": "UpdateRamdisk", "filename": "038-0050-002.dmg", "date": "2023-06-11T18:54:45.499164", "iv": "d67c8ecae9d5278eb61766370fc37c29", "key": "822296fc0d914b5665c6934be21b763e", "kbag": "d67c8ecae9d5278eb61766370fc37c29822296fc0d914b5665c6934be21b763e"}, {"image": "RestoreRamdisk", "filename": "038-0049-002.dmg", "date": "2023-06-11T18:54:45.499174", "iv": "654eb6a2290da5b9b77e6570f2d8ba2b", "key": "8d53585fa73916d27016abc81e41da82", "kbag": "654eb6a2290da5b9b77e6570f2d8ba2b8d53585fa73916d27016abc81e41da82"}, {"image": "AppleLogo", "filename": "applelogo.s5l8720x.img3", "date": "2023-06-11T18:54:45.499182", "iv": "75155f29cafe8dfdfdcf6fbf107664c1", "key": "6788b9096c321f1f3563f546e1809676", "kbag": "75155f29cafe8dfdfdcf6fbf107664c16788b9096c321f1f3563f546e1809676"}, {"image": "BatteryCharging0", "filename": "batterycharging0.s5l8720x.img3", "date": "2023-06-11T18:54:45.499190", "iv": "f9427e9ceade82bd3b3494191f71f992", "key": "962dded446843677a0ad2eb1c4944f7d", "kbag": "f9427e9ceade82bd3b3494191f71f992962dded446843677a0ad2eb1c4944f7d"}, {"image": "BatteryCharging1", "filename": "batterycharging1.s5l8720x.img3", "date": "2023-06-11T18:54:45.499199", "iv": "17cbc75c381ff25c4dea33be4647d5cf", "key": "16695266d57046db6e7b3b01203af048", "kbag": "17cbc75c381ff25c4dea33be4647d5cf16695266d57046db6e7b3b01203af048"}, {"image": "BatteryFull", "filename": "batteryfull.s5l8720x.img3", "date": "2023-06-11T18:54:45.499207", "iv": "95b731bdd3057d28426640752aaab0a9", "key": "9392a0f3f1f4e5348ca87113f530305a", "kbag": "95b731bdd3057d28426640752aaab0a99392a0f3f1f4e5348ca87113f530305a"}, {"image": "BatteryLow0", "filename": "batterylow0.s5l8720x.img3", "date": "2023-06-11T18:54:45.499215", "iv": "2c57dfc0b7a54452fea42385860ebd05", "key": "623bbea0949fb8363cdc89f3542396e8", "kbag": "2c57dfc0b7a54452fea42385860ebd05623bbea0949fb8363cdc89f3542396e8"}, {"image": "BatteryLow1", "filename": "batterylow1.s5l8720x.img3", "date": "2023-06-11T18:54:45.499222", "iv": "9497515e5441ee5841fd932c908ddd6a", "key": "2116a68f4bcec5475a8702b983c0eb75", "kbag": "9497515e5441ee5841fd932c908ddd6a2116a68f4bcec5475a8702b983c0eb75"}, {"image": "DeviceTree", "filename": "DeviceTree.n72ap.img3", "date": "2023-06-11T18:54:45.499230", "iv": "fc9b7aa1cca3c18706636fa38bf34dd4", "key": "22ae754a5c3e85d7e804bef7fc5f2251", "kbag": "fc9b7aa1cca3c18706636fa38bf34dd422ae754a5c3e85d7e804bef7fc5f2251"}, {"image": "GlyphCharging", "filename": "glyphcharging.s5l8720x.img3", "date": "2023-06-11T18:54:45.499237", "iv": "9e5841ff019a1fc49b7f448e21fd41e9", "key": "2f4c5a57d646da1837f4e861159310b2", "kbag": "9e5841ff019a1fc49b7f448e21fd41e92f4c5a57d646da1837f4e861159310b2"}, {"image": "GlyphPlugin", "filename": "glyphplugin.s5l8720x.img3", "date": "2023-06-11T18:54:45.499245", "iv": "287fab0fa02253750a6d9ba3a379ffb1", "key": "2cda961df4681046a00382388e974fc5", "kbag": "287fab0fa02253750a6d9ba3a379ffb12cda961df4681046a00382388e974fc5"}, {"image": "iBEC", "filename": "iBEC.n72ap.RELEASE.dfu", "date": "2023-06-11T18:54:45.499252", "iv": "2aed77208e0d6e0cd2d605c42fc75279", "key": "737023ff441df66a0e6dfc19ae15df67", "kbag": "2aed77208e0d6e0cd2d605c42fc75279737023ff441df66a0e6dfc19ae15df67"}, {"image": "iBoot", "filename": "iBoot.n72ap.RELEASE.img3", "date": "2023-06-11T18:54:45.499260", "iv": "fcd3e0675b376f67e95328a2c691d363", "key": "7a105db73b007a24ef18c9226452d761", "kbag": "fcd3e0675b376f67e95328a2c691d3637a105db73b007a24ef18c9226452d761"}, {"image": "iBSS", "filename": "iBSS.n72ap.RELEASE.dfu", "date": "2023-06-11T18:54:45.499267", "iv": "856c2d9884ab1485cfd75b533246282b", "key": "c3f0f7a3093a74b4ead7fa0b4f80dd38", "kbag": "856c2d9884ab1485cfd75b533246282bc3f0f7a3093a74b4ead7fa0b4f80dd38"}, {"image": "Kernelcache", "filename": "kernelcache.release.n72", "date": "2023-06-11T18:54:45.499275", "iv": "2713903e1791608630aee3793cb2dc5c", "key": "1d052174d8d05c5a68a75b36ff4f28b6", "kbag": "2713903e1791608630aee3793cb2dc5c1d052174d8d05c5a68a75b36ff4f28b6"}, {"image": "LLB", "filename": "LLB.n72ap.RELEASE.img3", "date": "2023-06-11T18:54:45.499283", "iv": "57812c0e05fed32d3b355834a2a4ea60", "key": "4a3047ade2dcddb30886ff16b33ab5d5", "kbag": "57812c0e05fed32d3b355834a2a4ea604a3047ade2dcddb30886ff16b33ab5d5"}, {"image": "RecoveryMode", "filename": "recoverymode.s5l8720x.img3", "date": "2023-06-11T18:54:45.499290", "iv": "e9b47b95b639368a72b1108923a84914", "key": "32de9f4cee8c6ca017da6b3f675b6838", "kbag": "e9b47b95b639368a72b1108923a8491432de9f4cee8c6ca017da6b3f675b6838"}]}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -756,8 +756,8 @@ device_get_info() {
device_latest_build="16H81"
;;
iPad5,[1234] | iPhone8,[124] | iPhone9,[1234] | iPod9,1 )
device_latest_vers="15.7.8"
device_latest_build="19H364"
device_latest_vers="15.7.9"
device_latest_build="19H365"
;;
esac
# set device_use_bb, device_use_bb_sha1 (what baseband to use for ota/other)
@ -793,7 +793,7 @@ device_get_info() {
device_latest_bb="Mav10-7.80.04.Release.bbfw"
device_latest_bb_sha1="7ec8d734da78ca2bb1ba202afdbb6fe3fd093cb0"
;;
iPad5,[24] | iPhone8,[124] ) # MDM9615/MDM9635 15.7.8
iPad5,[24] | iPhone8,[124] ) # MDM9615/MDM9635 15.7.9
device_latest_bb="Mav10-11.61.01.Release.bbfw"
device_latest_bb_sha1="212cbb1e5bfd60912c01adda7dca66a569ddf758"
;;
@ -1031,11 +1031,15 @@ device_enter_mode() {
if [[ $device_det == 1 ]]; then
echo '[[ $(uname -a | grep -c "MarijuanARM") == 1 ]] && /tmp/kloader_hgsp /tmp/pwnediBSS || \
/tmp/kloader /tmp/pwnediBSS' >> kloaders
sendfiles+=("../resources/kloader/kloader_hgsp")
sendfiles+=("../resources/kloader/kloader")
sendfiles+=("../resources/kloader/kloader_hgsp" "../resources/kloader/kloader")
elif [[ $device_det == 5 ]]; then
echo "/tmp/kloader5 /tmp/pwnediBSS" >> kloaders
sendfiles+=("../resources/kloader/kloader5")
if [[ $device_proc == 5 ]]; then
opt="kloader5"
else
opt="kloader_axi0mX"
fi
echo "/tmp/$opt /tmp/pwnediBSS" >> kloaders
sendfiles+=("../resources/kloader/$opt")
elif (( device_det < 5 )); then
echo "/tmp/kloader_axi0mX /tmp/pwnediBSS" >> kloaders
sendfiles+=("../resources/kloader/kloader_axi0mX")
@ -1187,6 +1191,7 @@ device_enter_mode() {
elif [[ $device_proc == 7 ]]; then
print "* This option is set to gaster by default (1). Select this option if unsure."
fi
print "* If the first option does not work, try many times and/or try the other option(s)."
if [[ $device_proc == 7 ]]; then
selection+=("gaster")
fi
@ -1299,7 +1304,7 @@ device_ipwndfu() {
if [[ $1 == "send_ibss" ]]; then
patch_ibss
cp pwnediBSS ../resources/ipwndfu/
cp pwnediBSS.dfu ../resources/ipwndfu/
fi
device_enter_mode DFU
@ -1313,9 +1318,9 @@ device_ipwndfu() {
case $1 in
"send_ibss" )
log "Sending iBSS..."
$python2 ipwndfu -l pwnediBSS
$python2 ipwndfu -l pwnediBSS.dfu
tool_pwned=$?
rm pwnediBSS
rm pwnediBSS.dfu
if [[ $tool_pwned != 0 ]]; then
popd >/dev/null
error "Failed to send iBSS. Your device has likely failed to enter PWNED DFU mode." \
@ -1411,9 +1416,16 @@ download_comp() {
local build_id="$1"
local comp="$2"
local url="$(cat "$device_fw_dir/$build_id/url")"
if [[ $(echo "$url" | grep -c '<') != 0 ]]; then
rm "$device_fw_dir/$build_id/url"
url=
fi
if [[ -z $url ]]; then
log "Getting URL for $device_type-$build_id"
url=$(curl https://api.ipsw.me/v2.1/$device_type/$build_id/url)
url="$(curl "https://api.ipsw.me/v4/ipsw/$device_type/$build_id" | $jq -j ".url")"
if [[ $(echo "$url" | grep -c '<') != 0 ]]; then
url="$(curl "https://api.ipsw.me/v4/device/$device_type?type=ipsw" | $jq -j ".firmwares[] | select(.buildid == \"$build_id\") | .url")"
fi
mkdir $device_fw_dir/$build_id 2>/dev/null
echo "$url" > $device_fw_dir/$build_id/url
fi
@ -1438,8 +1450,6 @@ patch_ibss() {
case $device_type in
iPad1,1 | iPod3,1 ) build_id="9B206";;
iPhone2,1 | iPod4,1 ) build_id="10B500";;
iPad3,1 | iPhone3,[123] ) build_id="11D257";;
iPod5,1 ) build_id="10B329";;
* ) build_id="12H321";;
esac
if [[ -n $device_ramdisk_build ]]; then
@ -1447,49 +1457,31 @@ patch_ibss() {
fi
download_comp $build_id iBSS
log "Patching iBSS..."
if [[ $build_id == "9B206" || $build_id == "10B500" ||
$device_type == "iPhone3,2" || -n $device_ramdisk_build ]]; then
device_fw_key_check temp $build_id
local iv=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBSS")) | .iv')
local key=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBSS")) | .key')
"$dir/xpwntool" iBSS iBSS.dec -iv $iv -k $key -decrypt
"$dir/xpwntool" iBSS.dec iBSS.raw
"$dir/iBoot32Patcher" iBSS.raw iBSS.patched --rsa
"$dir/xpwntool" iBSS.patched pwnediBSS -t iBSS.dec
else
$bspatch iBSS pwnediBSS "../resources/patch/$download_targetfile.patch"
fi
cp pwnediBSS ../saved/$device_type/
device_fw_key_check temp $build_id
local iv=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBSS")) | .iv')
local key=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBSS")) | .key')
"$dir/xpwntool" iBSS iBSS.dec -iv $iv -k $key
"$dir/iBoot32Patcher" iBSS.dec pwnediBSS --rsa
"$dir/xpwntool" pwnediBSS pwnediBSS.dfu -t iBSS
cp pwnediBSS pwnediBSS.dfu ../saved/$device_type/
log "Pwned iBSS saved at: saved/$device_type/pwnediBSS"
log "Pwned iBSS img3 saved at: saved/$device_type/pwnediBSS.dfu"
}
patch_ibec() {
# creates file pwnediBEC to be sent to device for blob dumping
local build_id
case $device_type in
iPad1,1 | iPod3,1 )
build_id="9B206";;
iPhone2,1 | iPod4,1 )
build_id="10B500";;
iPad2,[145] | iPad3,[346] | iPhone4,1 | iPhone5,[12] | iPod5,1 )
build_id="10B329";;
iPad2,2 | iPhone3,[123] )
build_id="11D257";;
iPad2,[367] | iPad3,[25] )
build_id="12H321";;
iPad3,1 )
build_id="10B146";;
iPhone5,3 )
build_id="11B511";;
iPhone5,4 )
build_id="11B651";;
iPad1,1 | iPod3,1 ) build_id="9B206";;
iPhone2,1 | iPod4,1 ) build_id="10B500";;
* ) build_id="12H321";;
esac
if [[ -n $device_ramdisk_build ]]; then
build_id="$device_ramdisk_build"
fi
download_comp $build_id iBEC
device_fw_key_check temp $build_id
local name=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBEC")) | .filename')
local name="iBEC"
local iv=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBEC")) | .iv')
local key=$(echo $device_fw_key_temp | $jq -j '.keys[] | select(.image | startswith("iBEC")) | .key')
local address="0x80000000"
@ -1498,19 +1490,13 @@ patch_ibec() {
fi
log "Decrypting iBEC..."
mv iBEC $name.orig
"$dir/xpwntool" $name.orig $name.dec -iv $iv -k $key -decrypt
"$dir/xpwntool" $name.dec $name.raw
"$dir/xpwntool" $name.orig $name.dec -iv $iv -k $key
log "Patching iBEC..."
if [[ $build_id == "9B206" || $build_id == "10B500" ||
$device_type == "iPhone3,2" || -n $device_ramdisk_build ]]; then
"$dir/iBoot32Patcher" $name.raw $name.patched --rsa --debug --ticket -b "rd=md0 -v amfi=0xff cs_enforcement_disable=1" -c "go" $address
else
$bspatch $name.raw $name.patched "../resources/patch/$download_targetfile.patch"
fi
"$dir/xpwntool" $name.patched pwnediBEC -t $name.dec
rm $name.dec $name.orig $name.raw $name.patched
cp pwnediBEC ../saved/$device_type/
log "Pwned iBEC saved at: saved/$device_type/pwnediBEC"
"$dir/iBoot32Patcher" $name.dec $name.patched --rsa --debug --ticket -b "rd=md0 -v amfi=0xff cs_enforcement_disable=1" -c "go" $address
"$dir/xpwntool" $name.patched pwnediBEC.dfu -t $name.orig
rm $name.dec $name.orig $name.patched
cp pwnediBEC.dfu ../saved/$device_type/
log "Pwned iBEC img3 saved at: saved/$device_type/pwnediBEC.dfu"
}
ipsw_preference_set() {
@ -1527,7 +1513,7 @@ ipsw_preference_set() {
fi
# target version check
case $device_target_vers in
8* | 7* | 6* | 5* ) ipsw_canjailbreak=1;;
9.3.[1234] | 9.3 | 9.2* | 9.1 | 8* | 7* | 6* | 5* ) ipsw_canjailbreak=1;;
esac
if [[ $device_target_powder == 1 ]] ||
[[ $device_type == "iPhone3,1" && $device_target_vers == "4"* && $device_target_vers != "4.2.1" ]]; then
@ -1694,9 +1680,16 @@ ipsw_verify() {
if (( device_proc > 7 )); then
return
fi
if [[ $(echo "$IPSWSHA1" | grep -c '<') != 0 ]]; then
rm "$device_fw_dir/$build_id/sha1sum"
IPSWSHA1=
fi
if [[ -z $IPSWSHA1 ]]; then
log "Getting SHA1 hash from ipsw.me..."
IPSWSHA1="$(curl https://api.ipsw.me/v2.1/$device_type/$build_id/sha1sum)"
IPSWSHA1="$(curl "https://api.ipsw.me/v4/ipsw/$device_type/$build_id" | $jq -j ".sha1sum")"
if [[ $(echo "$IPSWSHA1" | grep -c '<') != 0 ]]; then
IPSWSHA1="$(curl "https://api.ipsw.me/v4/device/$device_type?type=ipsw" | $jq -j ".firmwares[] | select(.buildid == \"$build_id\") | .sha1sum")"
fi
mkdir $device_fw_dir/$build_id 2>/dev/null
echo "$IPSWSHA1" > $device_fw_dir/$build_id/sha1sum
fi
@ -2141,6 +2134,8 @@ ipsw_prepare_32bit() {
fi
if [[ $ipsw_jailbreak == 1 ]]; then
case $device_target_vers in
9.3.[1234] | 9.3 ) JBFiles+=("untetherhomedepot.tar");;
9.2* | 9.1 ) JBFiles+=("untetherhomedepot921.tar");;
7.1* ) JBFiles+=("panguaxe.tar");;
7* ) JBFiles+=("evasi0n7-untether.tar");;
6.1.[3456] ) JBFiles+=("p0sixspwn.tar");;
@ -2149,7 +2144,7 @@ ipsw_prepare_32bit() {
;;
esac
case $device_target_vers in
8* ) JBFiles+=("fstab8.tar");;
9* | 8* ) JBFiles+=("fstab8.tar");;
7* ) JBFiles+=("fstab7.tar");;
* ) JBFiles+=("fstab_rw.tar");;
esac
@ -2183,8 +2178,8 @@ ipsw_prepare_32bit() {
mv temp.ipsw "$ipsw_custom.ipsw"
}
ipsw_prepare_powder() {
local ExtraArgs
ipsw_prepare_powder4() {
local ExtraArgs="-apticket $shsh_path"
local ExtraArgs2="--logo4 "
local IV
local JBFiles=()
@ -2196,22 +2191,10 @@ ipsw_prepare_powder() {
fi
if [[ $ipsw_jailbreak == 1 ]]; then
if [[ $device_target_vers == "4"* || $device_target_vers == "5"* ]]; then
if [[ $device_target_vers == "5"* ]]; then
JBFiles=("pris0nbarake/tar-${device_model}_$device_target_build.tar")
else
JBFiles=("unthredeh4il.tar")
fi
JBFiles+=("fstab_rw.tar" "freeze.tar")
for i in {0..2}; do
JBFiles[i]=$jelbrek/${JBFiles[$i]}
done
case $device_target_vers in
5.1.1 ) JBFiles+=("$jelbrek/rockyracoon.tar");;
5.0.1 ) JBFiles+=("$jelbrek/corona.tar");;
esac
JBFiles+=("$jelbrek/cydiasubstrate.tar")
fi
JBFiles=("unthredeh4il.tar" "fstab_rw.tar" "freeze.tar" "cydiasubstrate.tar")
for i in {0..3}; do
JBFiles[i]=$jelbrek/${JBFiles[$i]}
done
if [[ $ipsw_openssh == 1 ]]; then
JBFiles+=("$jelbrek/sshdeb.tar")
fi
@ -2220,14 +2203,7 @@ ipsw_prepare_powder() {
cp -R ../resources/firmware/powdersn0wBundles ./FirmwareBundles
cp -R ../resources/firmware/src .
if [[ $device_target_vers == "4.3"* ]]; then
ExtraArgs+="-apticket $shsh_path"
fi
if [[ $ipsw_jailbreak == 1 && $device_target_vers == "6"* ]]; then
ipsw_prepare_config true true
else
ipsw_prepare_config false true
fi
ipsw_prepare_config false true
if [[ $ipsw_memory == 1 ]]; then
ExtraArgs+=" -memory"
fi
@ -2243,57 +2219,55 @@ ipsw_prepare_powder() {
"* You may try selecting N for memory option"
fi
if [[ $device_target_vers == "4.3"* ]]; then
device_fw_key_check
log "Applying iOS 4 patches"
log "Patch iBoot"
IV=$(echo "$device_fw_key" | $jq -j '.keys[] | select(.image | startswith("iBoot")) | .iv')
Key=$(echo "$device_fw_key" | $jq -j '.keys[] | select(.image | startswith("iBoot")) | .key')
if [[ $device_target_vers != "4.3.5" ]]; then
ExtraArgs2+="--433 "
fi
if [[ $ipsw_verbose == 1 ]]; then
ExtraArgs2+="-b -v"
fi
unzip -o -j "$ipsw_path.ipsw" Firmware/all_flash/all_flash.n90ap.production/iBoot*
mv iBoot.n90ap.RELEASE.img3 ibot
"$dir/xpwntool" ibot ibot.dec -iv $IV -k $Key
"$dir/iBoot32Patcher" ibot.dec ibot.pwned --rsa --boot-partition --boot-ramdisk $ExtraArgs2
"$dir/xpwntool" ibot.pwned iBoot -t ibot
rm ibot*
echo "0000010: 6365" | xxd -r - iBoot
echo "0000020: 6365" | xxd -r - iBoot
mkdir -p Firmware/all_flash/all_flash.n90ap.production Firmware/dfu
cp iBoot Firmware/all_flash/all_flash.n90ap.production/iBoot4.n90ap.RELEASE.img3
log "Patch iBSS"
unzip -o -j "$ipsw_path.ipsw" Firmware/dfu/iBSS.n90ap.RELEASE.dfu
$bspatch iBSS.n90ap.RELEASE.dfu Firmware/dfu/iBSS.n90ap.RELEASE.dfu FirmwareBundles/${device_type}_${device_target_vers}_${device_target_build}.bundle/iBSS.n90ap.RELEASE.patch
log "Patch Ramdisk"
local RamdiskName=$(echo "$device_fw_key" | $jq -j '.keys[] | select(.image | startswith("RestoreRamdisk")) | .filename')
unzip -o -j "$ipsw_path.ipsw" $RamdiskName
if [[ $device_target_vers == "4.3" ]]; then
"$dir/xpwntool" $RamdiskName ramdisk.orig -iv d11772b6a3bdd4f0b4cd8795b9f10ad9 -k 9873392c91743857cf5b35c9017c6683d5659c9358f35c742be27bfb03dee77c -decrypt
else
mv $RamdiskName ramdisk.orig
fi
$bspatch ramdisk.orig ramdisk.patched FirmwareBundles/${device_type}_${device_target_vers}_${device_target_build}.bundle/${RamdiskName%????}.patch
"$dir/xpwntool" ramdisk.patched ramdisk.raw
"$dir/hfsplus" ramdisk.raw rm iBoot
"$dir/hfsplus" ramdisk.raw add iBoot iBoot
"$dir/xpwntool" ramdisk.raw $RamdiskName -t ramdisk.patched
log "Patch AppleLogo"
unzip -o -j temp.ipsw Firmware/all_flash/all_flash.n90ap.production/applelogo-640x960.s5l8930x.img3
echo "0000010: 3467" | xxd -r - applelogo-640x960.s5l8930x.img3
echo "0000020: 3467" | xxd -r - applelogo-640x960.s5l8930x.img3
mv applelogo-640x960.s5l8930x.img3 Firmware/all_flash/all_flash.n90ap.production/applelogo-640x960.s5l8930x.img3
log "Add all to custom IPSW"
zip -r0 temp.ipsw Firmware/all_flash/all_flash.n90ap.production/* Firmware/dfu/iBSS.n90ap.RELEASE.dfu $RamdiskName
device_fw_key_check
log "Applying iOS 4 patches"
log "Patch iBoot"
IV=$(echo "$device_fw_key" | $jq -j '.keys[] | select(.image | startswith("iBoot")) | .iv')
Key=$(echo "$device_fw_key" | $jq -j '.keys[] | select(.image | startswith("iBoot")) | .key')
if [[ $device_target_vers != "4.3.5" ]]; then
ExtraArgs2+="--433 "
fi
if [[ $ipsw_verbose == 1 ]]; then
ExtraArgs2+="-b -v"
fi
unzip -o -j "$ipsw_path.ipsw" Firmware/all_flash/all_flash.n90ap.production/iBoot*
mv iBoot.n90ap.RELEASE.img3 ibot
"$dir/xpwntool" ibot ibot.dec -iv $IV -k $Key
"$dir/iBoot32Patcher" ibot.dec ibot.pwned --rsa --boot-partition --boot-ramdisk $ExtraArgs2
"$dir/xpwntool" ibot.pwned iBoot -t ibot
rm ibot*
echo "0000010: 6365" | xxd -r - iBoot
echo "0000020: 6365" | xxd -r - iBoot
mkdir -p Firmware/all_flash/all_flash.n90ap.production Firmware/dfu
cp iBoot Firmware/all_flash/all_flash.n90ap.production/iBoot4.n90ap.RELEASE.img3
log "Patch iBSS"
unzip -o -j "$ipsw_path.ipsw" Firmware/dfu/iBSS.n90ap.RELEASE.dfu
$bspatch iBSS.n90ap.RELEASE.dfu Firmware/dfu/iBSS.n90ap.RELEASE.dfu FirmwareBundles/${device_type}_${device_target_vers}_${device_target_build}.bundle/iBSS.n90ap.RELEASE.patch
log "Patch Ramdisk"
local RamdiskName=$(echo "$device_fw_key" | $jq -j '.keys[] | select(.image | startswith("RestoreRamdisk")) | .filename')
unzip -o -j "$ipsw_path.ipsw" $RamdiskName
if [[ $device_target_vers == "4.3" ]]; then
"$dir/xpwntool" $RamdiskName ramdisk.orig -iv d11772b6a3bdd4f0b4cd8795b9f10ad9 -k 9873392c91743857cf5b35c9017c6683d5659c9358f35c742be27bfb03dee77c -decrypt
else
mv $RamdiskName ramdisk.orig
fi
$bspatch ramdisk.orig ramdisk.patched FirmwareBundles/${device_type}_${device_target_vers}_${device_target_build}.bundle/${RamdiskName%????}.patch
"$dir/xpwntool" ramdisk.patched ramdisk.raw
"$dir/hfsplus" ramdisk.raw rm iBoot
"$dir/hfsplus" ramdisk.raw add iBoot iBoot
"$dir/xpwntool" ramdisk.raw $RamdiskName -t ramdisk.patched
log "Patch AppleLogo"
unzip -o -j temp.ipsw Firmware/all_flash/all_flash.n90ap.production/applelogo-640x960.s5l8930x.img3
echo "0000010: 3467" | xxd -r - applelogo-640x960.s5l8930x.img3
echo "0000020: 3467" | xxd -r - applelogo-640x960.s5l8930x.img3
mv applelogo-640x960.s5l8930x.img3 Firmware/all_flash/all_flash.n90ap.production/applelogo-640x960.s5l8930x.img3
log "Add all to custom IPSW"
zip -r0 temp.ipsw Firmware/all_flash/all_flash.n90ap.production/* Firmware/dfu/iBSS.n90ap.RELEASE.dfu $RamdiskName
mv temp.ipsw "$ipsw_custom.ipsw"
}
ipsw_prepare_powder2() {
ipsw_prepare_powder() {
local ExtraArgs
if [[ -e "$ipsw_custom.ipsw" ]]; then
log "Found existing Custom IPSW. Skipping IPSW creation."
@ -2660,7 +2634,7 @@ restore_idevicerestore() {
print "* If opening an issue in GitHub, please provide a FULL log/output. Otherwise, your issue may be dismissed."
if [[ $ipsw_jailbreak == 1 ]]; then
case $device_target_vers in
5* | 4* | 3* ) warn "Do not update Cydia Substrate and Substrate Safe Mode in Cydia!";;
5* | 4* | 3* ) warn "Do not uninstall Cydia Substrate and Substrate Safe Mode in Cydia!";;
esac
fi
}
@ -2774,7 +2748,7 @@ restore_latest() {
esac
if [[ $ipsw_jailbreak == 1 ]]; then
case $device_target_vers in
5* | 4* | 3* ) warn "Do not update Cydia Substrate and Substrate Safe Mode in Cydia!";;
5* | 4* | 3* ) warn "Do not uninstall Cydia Substrate and Substrate Safe Mode in Cydia!";;
esac
fi
}
@ -2972,9 +2946,9 @@ ipsw_prepare() {
fi
elif [[ $device_type == "iPhone3,1" && $device_target_vers == "4.3"* ]]; then
shsh_save version 7.1.2
ipsw_prepare_powder
ipsw_prepare_powder4
elif [[ $device_type == "iPhone3,1" || $device_type == "iPhone3,3" ]]; then
ipsw_prepare_powder2
ipsw_prepare_powder
else
ipsw_prepare_custom
fi
@ -2983,7 +2957,7 @@ ipsw_prepare() {
[56] )
# 32-bit devices A5/A6
if [[ $device_target_powder == 1 ]]; then
ipsw_prepare_powder2
ipsw_prepare_powder
elif [[ $ipsw_jailbreak == 1 && $device_target_other != 1 ]]; then
ipsw_prepare_jailbreak
else
@ -3060,6 +3034,7 @@ device_ramdisk() {
local url
local decrypt
local ramdisk_path
local build_id
case $device_type in
iPhone1,[12] | iPod1,1 ) device_target_build="7E18";;
@ -3073,14 +3048,22 @@ device_ramdisk() {
if [[ -n $device_ramdisk_build ]]; then
device_target_build=$device_ramdisk_build
fi
ramdisk_path="../saved/$device_type/ramdisk_$device_target_build"
build_id=$device_target_build
ramdisk_path="../saved/$device_type/ramdisk_$build_id"
device_fw_key_check
url=$(cat "$device_fw_dir/$device_target_build/url" 2>/dev/null)
url=$(cat "$device_fw_dir/$build_id/url" 2>/dev/null)
if [[ $(echo "$url" | grep -c '<') != 0 ]]; then
rm "$device_fw_dir/$build_id/url"
url=
fi
if [[ -z $url ]]; then
log "Getting URL for $device_type-$device_target_build"
url=$(curl https://api.ipsw.me/v2.1/$device_type/$device_target_build/url)
mkdir $device_fw_dir/$device_target_build 2>/dev/null
echo "$url" > $device_fw_dir/$device_target_build/url
log "Getting URL for $device_type-$build_id"
url="$(curl "https://api.ipsw.me/v4/ipsw/$device_type/$build_id" | $jq -j ".url")"
if [[ $(echo "$IPSWSHA1" | grep -c '<') != 0 ]]; then
url="$(curl "https://api.ipsw.me/v4/device/$device_type?type=ipsw" | $jq -j ".firmwares[] | select(.buildid == \"$build_id\") | .url")"
fi
mkdir $device_fw_dir/$build_id 2>/dev/null
echo "$url" > $device_fw_dir/$build_id/url
fi
mkdir $ramdisk_path 2>/dev/null
for getcomp in "${comps[@]}"; do
@ -3279,6 +3262,8 @@ device_ramdisk() {
return
fi
case $vers in
9.3.[1234] | 9.3 ) untether="untetherhomedepot.tar";;
9.2* | 9.1 ) untether="untetherhomedepot921.tar";;
8* ) untether="daibutsu/untether.tar";;
7.1* ) untether="panguaxe.tar";;
7* ) untether="evasi0n7-untether.tar";;
@ -3313,7 +3298,7 @@ device_ramdisk() {
log "Mounting data partition"
$ssh -p 2222 root@127.0.0.1 "mount.sh pv"
case $vers in
8* ) device_ramdisktar fstab8.tar;;
9* | 8* ) device_ramdisktar fstab8.tar;;
7* ) device_ramdisktar fstab7.tar;;
6* ) device_ramdisktar fstab_rw.tar;;
5* ) untether="tar-${device_model}_$build.tar";;
@ -3375,7 +3360,7 @@ device_ramdisk() {
fi
log "Cool, done and jailbroken (hopefully)"
case $vers in
5* | 4* | 3* ) warn "Do not update Cydia Substrate and Substrate Safe Mode in Cydia!";;
5* | 4* | 3* ) warn "Do not uninstall Cydia Substrate and Substrate Safe Mode in Cydia!";;
esac
return
;;
@ -3407,18 +3392,20 @@ device_ramdisk() {
}
shsh_save_onboard() {
if [[ $device_proc == 5 ]]; then
device_enter_mode kDFU
elif [[ $device_proc == 4 ]] || [[ $device_proc == 6 && $platform == "macos" ]]; then
device_buttons
fi
if [[ $device_proc == 4 ]]; then
device_enter_mode pwnDFU
patch_ibss
log "Sending iBSS..."
$irecovery -f pwnediBSS
$irecovery -f pwnediBSS.dfu
sleep 2
else
device_enter_mode kDFU
fi
patch_ibec
log "Sending iBEC..."
$irecovery -f pwnediBEC
$irecovery -f pwnediBEC.dfu
device_find_mode Recovery
log "Dumping blobs now"
(echo -e "/send ../resources/payload\ngo blobs\n/exit") | $irecovery2 -s
@ -4208,6 +4195,22 @@ device_jailbreakrd() {
return
;;
esac
: '
else
case $device_vers in
5* | 6.0* | 6.1 | 6.1.[12] )
print "* Your device on iOS $device_vers will be jailbroken using g1lbertJB."
print "* No data will be lost, but please back up your data just in case."
pause
pushd ../resources/jailbreak/g1lbertJB >/dev/null
cp ../freeze.tar payload/Cydia.tar
../../$dir/gilbertjb
rm payload/Cydia.tar
popd >/dev/null
return
;;
esac
'
fi
print "* By selecting Jailbreak Device, your device will be jailbroken using SSH Ramdisk."
print "* Before continuing, make sure that your device does not have a jailbreak yet."