Skip to content

Commit 3f188c8

Browse files
committed
More fix attempts for bbdigest/bbreplace
last for now.
1 parent 8367cc9 commit 3f188c8

1 file changed

Lines changed: 36 additions & 26 deletions

File tree

restore.sh

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4235,13 +4235,11 @@ replace_plist_data() {
42354235
}
42364236

42374237
ipsw_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

42824280
ipsw_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

Comments
 (0)