[Jailbreak] Tutorial downgrade from iOS 15.6.1 to iOS 14.6 with sunst0rm

Lê Thành Phúc
4 min readAug 19, 2022

--

Hi! After reading a few articles on the forums and experimenting with my device. I have successfully downgraded from iOS 15.6.1 to iOS 14.6. I will describe to you the steps below

Video Demo

0. Device Information

Model: Iphone 6s
Identifier: iPhone8,1
BoardConfig: N71mAP
iOS version: 15.6
Chipset: AppleA9

1. System Requirement

MacOS 10.15+
Python3

2. Prepare tools and dependencies

2.1 Blobsaver

Use Blobsaver to get signed SHSH certificate

Signed SHSH Blob

2.2 IPSW

Use ipsw.me to download your ipsw want to downgrade.

IPSW

2.3 Gaster

Placing the device into pwndfu mode with gaster

git clone https://github.com/0x7ff/gaster
cd gaster
make
mv gaster /usr/local/bin/gaster
gaster pwn

2.4 Sunst0rm

Automatic Downgrade for checkm8 devices

git clone https://github.com/mineek/sunst0rm.git
cd sunst0rm
pip3 install -r requirements.txt

2.4.1 HomeBrew

Install HomeBrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Install some libs and dependencies

brew install automake autoconf pkg-config libtool libusb poetry libpng

2.4.2 libirecovery

brew install libimobiledevice libirecovery

2.4.3 futurerestore

Download lastest futurerestore in

https://github.com/futurerestore/futurerestore/releases

or

https://nightly.link/futurerestore/futurerestore/workflows/ci/main

In this case I use futurerestore-macOS-RELEASE.zip then

chmod +x futurerestore
mv futurerestore /usr/local/bin/

2.4.4 iBoot64Patcher

https://nightly.link/Cryptiiiic/iBoot64Patcher/workflows/ci/main

In this case I use iBoot64Patcher-macOS-x86_64-RELEASE then

chmod +x iBoot64Patcher
mv iBoot64Patcher /usr/local/bin/

2.4.5 Kernel64Patcher

git clone https://github.com/iSuns9/Kernel64Patcher.git
cd Kernel64Patcher
gcc Kernel64Patcher.c -o Kernel64Patcher

then

mv Kernel64Patcher /usr/local/bin/

2.4.6 img4tool

https://github.com/tihmstar/img4tool/releases

In this case I use buildroot_macos-latest.zip then

cd buildroot_macos-latest
cp -r usr/local/* /usr/local/
chmod +x /usr/local/bin/img4tool

2.4.7 img4

git clone https://github.com/xerub/img4lib.git --recursive
cd img4lib
make -C lzfse
make COMMONCRYPTO=1

then

cp img4 /usr/local/bin
cp libimg4.a /usr/local/lib

2.4.8 ldid

brew install ldid

2.4.9 restored_external64_patcher

git clone https://github.com/iSuns9/restored_external64patcher.git
cd restored_external64patcher
make
mv restored_external64_patcher /usr/local/bin/

2.4.10 asr64_patcher

git clone https://github.com/exploit3dguy/asr64_patcher.git
cd asr64_patcher
make
mv asr64_patcher /usr/local/bin

3. Start to downgrade

Currently device is running iOS 15.6.1

Device running iOS 15.6.1

3.1 Place device to DFU mode

Press Home + Power for 10s then let Power and keep holding Home for another 10s
Device in DFU mode

3.2 Pwndfu with sigchecks removed

gaster pwn
pwndfu

3.3 Continue in sunst0rm run frist command

python3 sunstorm.py -i 'IPSW' -t 'SHSH2' -r -d 'BOARDCONFIG'

If your device is A9 or lower, then YOU NEED to add the --kpp flag. If you have a device A10 or greater, you DO NOT NEED them.

In my case, my device is use A9 so command is :

python3 sunstorm.py -i 'IPSW' -t 'SHSH2' -r -d n71map --kpp

If your device does not have baseband such as iPod Touch or Wifi Only iPads pass --skip-baseband to sunst0rm arguments. Example :

python3 sunstorm.py -i 'IPSW' -t 'SHSH2' -r -d 'BOARDCONFIG' --kpp --skip-baseband
Run frist sunst0rm command

We have the result after running

Sunst0rm restoring succeeded

3.4 Continue in sunst0rm run second command

python3 sunstorm.py -i 'IPSW' -t 'SHSH2' -b -d 'BOARDCONFIG' -id 'IDENTIFIER'

Following my A9 device example:

python3 sunstorm.py -i 'IPSW' -t 'SHSH2' -b -d n71map --kpp -id iPhone8,1
Run second sunst0rm command

We have the result after running

Sunst0rm create boot succeeded

3.5 Place device to real DFU mode

At this time, device is now in some sort of “fake/broken” DFU mode. We need to get into the real DFU mode.

Press Home + Power for 10s then let Power and keep holding Home for another 10s

3.6 Again Pwndfu with sigchecks removed

gaster pwn
Pwndfu again

3.7 Boot device

./boot.sh

If your device use A10+

./boot-a10.sh
Run boot.sh

Now device is running iOS 14.6

Device running iOS 14.6

4. Reference

--

--

Lê Thành Phúc
Lê Thành Phúc

No responses yet