iOS Tether Downgrader for checkm8 devices
Based on my guide
please, please, please, DO NOT ask for help in any other discord. Developers not affiliated with sunst0rm are sick of getting issue after issue due to sunst0rm and I just don't want to irritate them, instead join the discord server linked below.
Also: please DO NOT open issues at futurerestore when using sunst0rm, they're almost always NOT the fault of futurerestore.
See this guide for help
You can also watch this youtube video for a video tutorial
If you still have problems, join the Discord server for help
If you want, please checkout the dev branch where my bash rewrite lives and give feedback / report issues, it would be really useful!
- It is a tethered downgrade meaning you will have to boot tethered every single time from your PC if your battery dies or if you reboot your phone.
- On A10-A11 devices crucial functionality such as the Home Button, Audio, Microphone, Vibration does NOT work at the moment.
- On iPhone X touch doesn't work but iPhone 8 and 8 Plus are fine.
- You should NOT be tether downgrading your main device it is only recommended to tether downgrade a second device.
- For some frequently asked fixes go here for help.
- libirecovery
- futurerestore (fork)
- futurerestore must be the nightly build. A compiled binary can be found here
- iBoot64patcher (fork)
- Precompiled binaries for iBoot64Patcher can be found here
- Kernel64patcher (fork)
- img4tool
- img4
- ldid
- restored_external64_patcher
- asr64_patcher
- Python3
- Make sure you updated Python and are not using the bundled one in macOS
- Python dependencies
pip3 install -r requirements.txt
- A device that is vulnerable to checkm8 (A7-A11 devices.), if your device is not vulnerable then you can NOT tether downgrade at all.
Make sure to use the forks listed above.
Option (short) | Option (long) | Description |
---|---|---|
-i IPSW |
--ipsw IPSW |
Path to IPSW |
-t SHSH2 |
--blob SHSH2 |
Path to SHSH2 |
-r |
--restore |
Restore mode |
-b |
--boot |
Boot mode |
-d BOARDCONFIG |
--boardconfig BOARDCONFIG |
BoardConfig to use (E.g: d221ap ) |
-kpp |
--kpp |
Use KPP (A9 or lower) |
-id IDENTIFIER |
--identifier IDENTIFIER |
Identifier to use (E.g: iPhone10,6 ) |
--legacy |
Use Legacy Mode (iOS 11 or lower) | |
--skip-baseband |
Skip Baseband sending, do NOT do this if your device does have baseband this argument is only ment to be passed when your device does not have baseband such as WiFi only iPads. |
python3 sunstorm.py -i 'IPSW' -t 'SHSH2' -r -d 'BOARDCONFIG'
- Use
--kpp
if you have KPP, otherwise don't add - A10+ Devices do NOT have KPP so do not add
--kpp
if you are attempting to tether downgrade an A10+ device, A7-A9X devices does have KPP so that means you will pass--kpp
and to clear things up having KPP or not does not change the fact if you are able to tether downgrade your device.
python3 sunstorm.py -i 'IPSW' -t 'SHSH2' -b -d 'BOARDCONFIG' -id 'IDENTIFIER'
- Use
--kpp
if you have KPP, otherwise don't add
./boot.sh
M1n1Exploit - Some code from ra1nstorm
Arna13 - Writing an easy to understand guide
swayea - Logo's