@@ -4235,13 +4235,11 @@ replace_plist_data() {
42354235}
42364236
42374237ipsw_bbdigest() {
4238- local loc="BuildIdentities:0:"
42394238 local loc_sub=
42404239 if [[ $2 != "UniqueBuildID" ]]; then
42414240 loc_sub="Manifest:BasebandFirmware:"
42424241 fi
42434242 loc_sub+="$2"
4244- loc+="$loc_sub"
42454243
42464244 local out="$1"
42474245 log "Replacing $2"
@@ -4280,12 +4278,12 @@ ipsw_bbdigest() {
42804278}
42814279
42824280ipsw_bbreplace() {
4283- local rsb1
4284- local sbl1
4285- local path
4281+ local rsb1=()
4282+ local sbl1=()
4283+ local path=()
42864284 local rsb_latest
42874285 local sbl_latest
4288- local bbfw="Print BuildIdentities:0: Manifest:BasebandFirmware"
4286+ local loc_sub=" Manifest:BasebandFirmware"
42894287 local ubid
42904288 if [[ $device_type == "iPad2,6" || $device_type == "iPad2,7" || $device_type == "iPhone5,2" ||
42914289 $device_type == "iPhone5,3" || $device_type == "iPhone5,4" ]] &&
@@ -4296,6 +4294,12 @@ ipsw_bbreplace() {
42964294 return
42974295 fi
42984296
4297+ local ind=(0)
4298+ if [[ $device_proc == 6 && $target_vers_maj == 10 ]]; then
4299+ ind+=(2 4)
4300+ [[ $device_type == "iPhone5,"* ]] && ind+=(6)
4301+ fi
4302+
42994303 if [[ $1 != "exist" ]]; then
43004304 log "Extracting BuildManifest from IPSW"
43014305 file_extract_from_archive temp.ipsw BuildManifest.plist
@@ -4306,22 +4310,22 @@ ipsw_bbreplace() {
43064310
43074311 case $device_type in
43084312 iPhone4,1 ) ubid="d9Xbp0xyiFOxDvUcKMsoNjIvhwQ=";;
4309- iPhone5,1 ) ubid="IcrFKRzWDvccKDfkfMNPOPYHEV0 =";;
4310- iPhone5,2 ) ubid="IcrFKRzWDvccKDfkfMNPOPYHEV0 =";; # iPhone5,1 ubid. orig: lnU0rtBUK6gCyXhEtHuwbEz/IKY=
4313+ iPhone5,1 ) ubid="849RPGQ9kNXGMztIQBhVoU/l5lM =";; # iPad3,5 ubid. orig: IcrFKRzWDvccKDfkfMNPOPYHEV0=
4314+ iPhone5,2 ) ubid="849RPGQ9kNXGMztIQBhVoU/l5lM =";; # iPad3,5 ubid. orig: lnU0rtBUK6gCyXhEtHuwbEz/IKY=
43114315 iPhone5,3 ) ubid="lnoGRL1B+Be2mF6Y6FNio8TPxM8=";; # iPhone6,1 ubid. orig: 5MDMapCrTG5J33jbtOLgWNLwzKs=
43124316 iPhone5,4 ) ubid="EHCDmDBeezNwTZsyiWYWQCllnz4=";; # iPhone6,2 ubid. orig: Z4ST0TczwAhpfluQFQNBg7Y3BVE=
4313- iPad2,6 ) ubid="IcrFKRzWDvccKDfkfMNPOPYHEV0 =";; # iPhone5,1 ubid. orig: L73HfN42pH7qAzlWmsEuIZZg2oE=
4314- iPad2,7 ) ubid="IcrFKRzWDvccKDfkfMNPOPYHEV0 =";; # iPhone5,1 ubid. orig: z/vJsvnUovZ+RGyXKSFB6DOjt1k=
4317+ iPad2,6 ) ubid="849RPGQ9kNXGMztIQBhVoU/l5lM =";; # iPad3,5 ubid. orig: L73HfN42pH7qAzlWmsEuIZZg2oE=
4318+ iPad2,7 ) ubid="849RPGQ9kNXGMztIQBhVoU/l5lM =";; # iPad3,5 ubid. orig: z/vJsvnUovZ+RGyXKSFB6DOjt1k=
43154319 iPad3,5 ) ubid="849RPGQ9kNXGMztIQBhVoU/l5lM=";;
43164320 iPad3,6 ) ubid="cO+N+Eo8ynFf+0rnsIWIQHTo6rg=";;
43174321 esac
43184322 ipsw_bbdigest $ubid UniqueBuildID
43194323
43204324 case $device_type in
43214325 iPhone4,1 )
4322- rsb1=$($PlistBuddy -c "$bbfw :eDBL-Version" BuildManifest.plist)
4323- sbl1=$($PlistBuddy -c "$bbfw :RestoreDBL-Version" BuildManifest.plist)
4324- path=$($PlistBuddy -c "$bbfw :Info:Path" BuildManifest.plist | tr -d '"')
4326+ rsb1[0] =$($PlistBuddy -c "Print BuildIdentities:0:$loc_sub :eDBL-Version" BuildManifest.plist)
4327+ sbl1[0] =$($PlistBuddy -c "Print BuildIdentities:0:$loc_sub :RestoreDBL-Version" BuildManifest.plist)
4328+ path[0] =$($PlistBuddy -c "Print BuildIdentities:0:$loc_sub :Info:Path" BuildManifest.plist | tr -d '"')
43254329 rsb_latest="-1577031936"
43264330 sbl_latest="-1575983360"
43274331 ipsw_bbdigest XAAAAADHAQCqerR8d+PvcfusucizfQ4ECBI0TA== RestoreDBL-PartialDigest
@@ -4331,9 +4335,11 @@ ipsw_bbreplace() {
43314335 ipsw_bbdigest 3CHVk7EmtGjL14ApDND81cqFqhM= AMSS-DownloadDigest
43324336 ;;
43334337 iPhone5,[12] | iPad2,[67] | iPad3,[56] )
4334- rsb1=$($PlistBuddy -c "$bbfw:RestoreSBL1-Version" BuildManifest.plist)
4335- sbl1=$($PlistBuddy -c "$bbfw:SBL1-Version" BuildManifest.plist)
4336- path=$($PlistBuddy -c "$bbfw:Info:Path" BuildManifest.plist | tr -d '"')
4338+ for i in "${ind[@]}"; do
4339+ rsb1[$i]=$($PlistBuddy -c "Print BuildIdentities:$i:$loc_sub:RestoreSBL1-Version" BuildManifest.plist)
4340+ sbl1[$i]=$($PlistBuddy -c "Print BuildIdentities:$i:$loc_sub:SBL1-Version" BuildManifest.plist)
4341+ path[$i]=$($PlistBuddy -c "Print BuildIdentities:$i:$loc_sub:Info:Path" BuildManifest.plist | tr -d '"')
4342+ done
43374343 rsb_latest="-1559114512"
43384344 sbl_latest="-1560163088"
43394345 ipsw_bbdigest 2bmJ7Vd+WAmogV+hjq1a86UlBvA= APPS-DownloadDigest
@@ -4350,9 +4356,11 @@ ipsw_bbreplace() {
43504356 ipsw_bbdigest kHLoJsT9APu4Xwu/aRjNK10Hx84= SBL2-DownloadDigest
43514357 ;;
43524358 iPhone5,[34] )
4353- rsb1=$($PlistBuddy -c "$bbfw:RestoreSBL1-Version" BuildManifest.plist)
4354- sbl1=$($PlistBuddy -c "$bbfw:SBL1-Version" BuildManifest.plist)
4355- path=$($PlistBuddy -c "$bbfw:Info:Path" BuildManifest.plist | tr -d '"')
4359+ for i in "${ind[@]}"; do
4360+ rsb1[$i]=$($PlistBuddy -c "Print BuildIdentities:$i:$loc_sub:RestoreSBL1-Version" BuildManifest.plist)
4361+ sbl1[$i]=$($PlistBuddy -c "Print BuildIdentities:$i:$loc_sub:SBL1-Version" BuildManifest.plist)
4362+ path[$i]=$($PlistBuddy -c "Print BuildIdentities:$i:$loc_sub:Info:Path" BuildManifest.plist | tr -d '"')
4363+ done
43564364 rsb_latest="-1542379296"
43574365 sbl_latest="-1543427872"
43584366 ipsw_bbdigest TSVi7eYY4FiAzXynDVik6TY2S1c= APPS-DownloadDigest
@@ -4370,13 +4378,15 @@ ipsw_bbreplace() {
43704378 ;;
43714379 esac
43724380
4373- log "Replacing $rsb1 with $rsb_latest"
4374- log "Replacing $sbl1 with $sbl_latest"
4375- log "Replacing $path with Firmware/$device_use_bb"
4376- sed -e "s,$rsb1,$rsb_latest," \
4377- -e "s,$sbl1,$sbl_latest," \
4378- -e "s,$path,Firmware/$device_use_bb," BuildManifest.plist > tmp.plist
4379- mv tmp.plist BuildManifest.plist
4381+ for i in "${ind[@]}"; do
4382+ log "Replacing ${rsb1[$i]} with $rsb_latest"
4383+ log "Replacing ${sbl1[$i]} with $sbl_latest"
4384+ log "Replacing ${path[$i]} with Firmware/$device_use_bb"
4385+ sed -e "s,${rsb1[$i]},$rsb_latest," \
4386+ -e "s,${sbl1[$i]},$sbl_latest," \
4387+ -e "s,${path[$i]},Firmware/$device_use_bb," BuildManifest.plist > tmp.plist
4388+ mv tmp.plist BuildManifest.plist
4389+ done
43804390
43814391 zip -r0 temp.ipsw Firmware/$device_use_bb BuildManifest.plist
43824392}
0 commit comments