Update idevicerestore, working iOS 4 iPhone4Down

it turns out that the culprit was idevicerestore all along, haha
anyways next up may be updating to powdersn0w
This commit is contained in:
LukeZGD 2022-07-17 10:24:12 +08:00
parent 76acc9bdf3
commit ca2dd826c5
8 changed files with 12 additions and 58 deletions

1
.gitignore vendored
View File

@ -21,3 +21,4 @@ resources/libimobiledevice*/
resources/ramdisk/ resources/ramdisk/
saved/ saved/
tmp/ tmp/
version.xml

View File

@ -57,7 +57,7 @@
<td>iOS 7.1.2</td> <td>iOS 7.1.2</td>
<td rowspan=2>iPhone 4 GSM (iPhone3,1)</td> <td rowspan=2>iPhone 4 GSM (iPhone3,1)</td>
</tr> </tr>
<tr><td>iOS 5.0 to 6.1.3</td></tr></tr> <tr><td>iOS 4.3 to 6.1.3</td></tr></tr>
</tbody> </tbody>
</table> </table>

View File

@ -229,7 +229,8 @@ iDeviceRestore() {
cp $SHSH shsh/${UniqueChipID}-${ProductType}-${OSVer}.shsh cp $SHSH shsh/${UniqueChipID}-${ProductType}-${OSVer}.shsh
Log "Proceeding to idevicerestore..." Log "Proceeding to idevicerestore..."
[[ $platform == "macos" ]] && sudo codesign --sign - --force --deep $idevicerestore [[ $platform == "macos" ]] && sudo codesign --sign - --force --deep $idevicerestore
[[ $1 == "latest" ]] && ExtraArgs="-ey" || ExtraArgs="-ewy" [[ $1 == "latest" ]] && ExtraArgs="-e" || ExtraArgs="-e -w"
[[ $platform == "win" ]] && ExtraArgs="-ewy"
$idevicerestore $ExtraArgs "$IPSWRestore.ipsw" $idevicerestore $ExtraArgs "$IPSWRestore.ipsw"
if [[ $platform == "macos" && $? != 0 ]]; then if [[ $platform == "macos" && $? != 0 ]]; then
Log "Restoring done! Read the message below if any error has occurred:" Log "Restoring done! Read the message below if any error has occurred:"

View File

@ -68,7 +68,7 @@ JailbreakOption() {
echo echo
if [[ $Jailbreak != 1 || $platform == "win" ]]; then if [[ $Jailbreak != 1 || $platform == "win" ]]; then
return [[ $ProductType == "iPhone3"* && $OSVer == "7.1.2" ]] && return
fi fi
Input "Memory Option for creating custom IPSW" Input "Memory Option for creating custom IPSW"
Echo "* This option makes creating the custom IPSW faster, but it requires at least 8GB of RAM." Echo "* This option makes creating the custom IPSW faster, but it requires at least 8GB of RAM."
@ -242,28 +242,7 @@ IPSW4() {
return return
fi fi
if [[ $OSVer == 7.1.1 ]]; then if [[ $OSVer == 6.1.3 ]]; then
IV=b110991061d76f74c1fc05ddd7cff540
Key=c6fbf428e0105ab22b2abaefd20ca22c2084e200f74e8a3b08298a54f8bfe28f
elif [[ $OSVer == 7.1 ]]; then
IV=9fe5b6785126c8fc5787582df9efcf94
Key=b68612f21e377bd1f685e9031be159a724e931eff162db245c63b7b692cefa7e
elif [[ $OSVer == 7.0.6 ]]; then
IV=12af3a975f0346e89d3a34e73b4e0ae1
Key=d7b5bb9b90f19493449ab17fda63afdb16069ad5b65026bb11b4db223fdd4be1
elif [[ $OSVer == 7.0.4 ]]; then
IV=67087ac7f28c77cdf9110356f476540b
Key=2a6940252b5cb19b86efb9005cdd5fd713290e573dc760f5a3e05df9e868bb89
elif [[ $OSVer == 7.0.3 ]]; then
IV=7cb97df787dcc6367816b03492b225f9
Key=bd56f0886e21f233f519d4db20fd044b9208882a6fb791553a75eb4e0c45bbc5
elif [[ $OSVer == 7.0.2 ]]; then
IV=65db9a4e4f64bb79a55d76d98ce1457b
Key=5cd910c268813cb4008e5b33e01f761c0794ed1437737b4d386727d17fac79d1
elif [[ $OSVer == 7.0 ]]; then
IV=5bf099d9db5cf1009329e527a378c8be
Key=e1fef31c8aabcdca2a3887ba21c0e2113c41a5617380657ab6a487993b39f9a8
elif [[ $OSVer == 6.1.3 ]]; then
IV=b559a2c7dae9b95643c6610b4cf26dbd IV=b559a2c7dae9b95643c6610b4cf26dbd
Key=3dbe8be17af793b043eed7af865f0b843936659550ad692db96865c00171959f Key=3dbe8be17af793b043eed7af865f0b843936659550ad692db96865c00171959f
elif [[ $OSVer == 6.1.2 ]]; then elif [[ $OSVer == 6.1.2 ]]; then
@ -308,12 +287,9 @@ IPSW4() {
fi fi
if [[ $Jailbreak == 1 ]]; then if [[ $Jailbreak == 1 ]]; then
if [[ $OSVer == 7.1* ]]; then if [[ $OSVer == 7.1.2 ]]; then
JBFiles=(Cydia7.tar panguaxe.tar fstab7.tar) JBFiles=(Cydia7.tar panguaxe.tar fstab7.tar)
JBSHA1=bba5022d6749097f47da48b7bdeaa3dc67cbf2c4 JBSHA1=bba5022d6749097f47da48b7bdeaa3dc67cbf2c4
elif [[ $OSVer == 7.* ]]; then
JBFiles=(Cydia7.tar evasi0n7-untether.tar fstab7.tar)
JBSHA1=bba5022d6749097f47da48b7bdeaa3dc67cbf2c4
elif [[ $OSVer == 6.1.3 ]]; then elif [[ $OSVer == 6.1.3 ]]; then
JBFiles=(Cydia6.tar p0sixspwn.tar) JBFiles=(Cydia6.tar p0sixspwn.tar)
JBSHA1=1d5a351016d2546aa9558bc86ce39186054dc281 JBSHA1=1d5a351016d2546aa9558bc86ce39186054dc281
@ -324,7 +300,7 @@ IPSW4() {
JBFiles=(Cydia5.tar unthredeh4il.tar) JBFiles=(Cydia5.tar unthredeh4il.tar)
JBSHA1=f5b5565640f7e31289919c303efe44741e28543a JBSHA1=f5b5565640f7e31289919c303efe44741e28543a
fi fi
[[ $OSVer != 7.* ]] && JBFiles+=(fstab_rw.tar) [[ $OSVer != 7.1.2 ]] && JBFiles+=(fstab_rw.tar)
JailbreakFiles $JBURL/${JBFiles[0]} ${JBFiles[0]} $JBSHA1 JailbreakFiles $JBURL/${JBFiles[0]} ${JBFiles[0]} $JBSHA1
for i in {0..2}; do for i in {0..2}; do
JBFiles[$i]=../resources/jailbreak/${JBFiles[$i]} JBFiles[$i]=../resources/jailbreak/${JBFiles[$i]}

Binary file not shown.

Binary file not shown.

View File

@ -304,9 +304,8 @@ SelectVersion() {
if [[ $ProductType == "iPhone3,1" ]]; then if [[ $ProductType == "iPhone3,1" ]]; then
[[ $Mode == "IPSW32" ]] && Selection+=("7.1.2") [[ $Mode == "IPSW32" ]] && Selection+=("7.1.2")
Selection+=("6.1.3" "5.1.1 (9B208)" "5.1.1 (9B206)" "More versions (5.0-6.1.2)" "4.3.x (not supported)" "7.x (not supported)") Selection+=("6.1.3" "5.1.1 (9B208)" "5.1.1 (9B206)" "4.3.5" "More versions (4.3-6.1.2)")
Selection2=("6.1.2" "6.1" "6.0.1" "6.0" "5.1" "5.0.1" "5.0") Selection2=("6.1.2" "6.1" "6.0.1" "6.0" "5.1" "5.0.1" "5.0" "4.3.3" "4.3")
Selection3=("7.1.1" "7.1" "7.0.6" "7.0.4" "7.0.3" "7.0.2" "7.0")
if [[ $Mode == "Restore712" ]]; then if [[ $Mode == "Restore712" ]]; then
Echo "* Make sure to disable the exploit first! See the README for more details." Echo "* Make sure to disable the exploit first! See the README for more details."
Input "Press Enter/Return to continue (or press Ctrl+C to cancel)" Input "Press Enter/Return to continue (or press Ctrl+C to cancel)"
@ -336,9 +335,8 @@ SelectVersion() {
"6.1.3" ) OSVer="6.1.3"; BuildVer="10B329"; break;; "6.1.3" ) OSVer="6.1.3"; BuildVer="10B329"; break;;
"5.1.1 (9B208)" ) OSVer="5.1.1"; BuildVer="9B208"; break;; "5.1.1 (9B208)" ) OSVer="5.1.1"; BuildVer="9B208"; break;;
"5.1.1 (9B206)" ) OSVer="5.1.1"; BuildVer="9B206"; break;; "5.1.1 (9B206)" ) OSVer="5.1.1"; BuildVer="9B206"; break;;
"More versions (5.0-6.1.2)" ) OSVer="More"; break;; "4.3.5" ) OSVer="4.3.5"; BuildVer="8L1"; break;;
"4.3.x (not supported)" ) OSVer="4.3.x"; break;; "More versions (4.3-6.1.2)" ) OSVer="More"; break;;
"7.x (not supported)" ) OSVer="7.x"; break;;
* ) exit 0;; * ) exit 0;;
esac esac
done done
@ -353,33 +351,11 @@ SelectVersion() {
"5.1" ) OSVer="5.1"; BuildVer="9B176"; break;; "5.1" ) OSVer="5.1"; BuildVer="9B176"; break;;
"5.0.1" ) OSVer="5.0.1"; BuildVer="9A405"; break;; "5.0.1" ) OSVer="5.0.1"; BuildVer="9A405"; break;;
"5.0" ) OSVer="5.0"; BuildVer="9A334"; break;; "5.0" ) OSVer="5.0"; BuildVer="9A334"; break;;
* ) exit 0;;
esac
done
elif [[ $OSVer == "4.3.x" ]]; then
Echo "* I can't verify if iOS 4.3.x works or not, let me know if it does work for you"
select opt in "4.3.5" "4.3.3" "4.3"; do
case $opt in
"4.3.5" ) OSVer="4.3.5"; BuildVer="8L1"; break;;
"4.3.3" ) OSVer="4.3.3"; BuildVer="8J2"; break;; "4.3.3" ) OSVer="4.3.3"; BuildVer="8J2"; break;;
"4.3" ) OSVer="4.3"; BuildVer="8F190"; break;; "4.3" ) OSVer="4.3"; BuildVer="8F190"; break;;
* ) exit 0;; * ) exit 0;;
esac esac
done done
elif [[ $OSVer == "7.x" ]]; then
Echo "* I don't think any iOS 7.x version works (gets stuck in recovery mode)"
select opt in "${Selection3[@]}"; do
case $opt in
"7.1.1" ) OSVer="7.1.1"; BuildVer="11D201"; break;;
"7.1" ) OSVer="7.1"; BuildVer="11D169"; break;;
"7.0.6" ) OSVer="7.0.6"; BuildVer="11B651"; break;;
"7.0.4" ) OSVer="7.0.4"; BuildVer="11B554a"; break;;
"7.0.3" ) OSVer="7.0.3"; BuildVer="11B511"; break;;
"7.0.2" ) OSVer="7.0.2"; BuildVer="11A501"; break;;
"7.0" ) OSVer="7.0"; BuildVer="11A465"; break;;
* ) exit 0;;
esac
done
fi fi
} }