Inferius is an xpwn-like tool to create & restore custom IPSWs to 64-bit devices.
Its current purpose is to downgrade devices (vulnerable to checkm8) to previous iOS versions. However, there are other possible uses for this tool as well.
Before using Inferius, keep in mind that
- No one but YOU is fully responsible for any data loss or damage caused to your device
- Downgrades are currently limited to versions compatible with the latest signed SEP version.
- Due to the downgrades being tethered, after restoring a custom IPSW you must patch the bootchain & send it to your device over pwned DFU manually to boot, as described here, or use one of these tools to automate the process for you:
By default, firmware bundles are automatically downloaded from an external repo. However, if there isn't a firmware bundle for the device+iOS version combo you're attempting to downgrade to, you'll need to create your own using bundlegen.
Pull requests for new firmware bundles are welcome, as long as the firmware bundle you want to add can create a usable IPSW for the targeted version.
./inferius -d 'Identifier' -f 'IPSW' [-c/-r] [-b 'BUNDLE']
Option (short) | Option (long) | Description |
---|---|---|
-d IDENTIFIER |
--device IDENTIFIER |
Device identifier |
-f IPSW |
--ipsw IPSW |
Path to IPSW |
-c |
--create |
Create custom IPSW |
-r |
--restore |
Restore custom IPSW |
-b |
--bundle BUNDLE |
(Optional) Path to local Firmware Bundle |
-u |
--update |
Keep data while restoring custom IPSW |
- A computer running macOS or Linux
- At least 10gbs of free space on your computer
- An Internet connection
- A 64-bit device (vulnerable to checkm8)
- A firmware bundle for your device & the iOS version to be downgraded to
- If there isn't a firmware bundle for your device + iOS version combo, look at bundlegen
- libusb
- futurerestore
- futurerestore must be compiled with my fork of img4tool, or else it can't be used with Inferius.
- libirecovery
- tsschecker
- Python dependencies:
pip3 install -r requirements.txt
- Implement iOS 10 downgrades for A7 devices.
- Update bundle documentation
./bundlegen -d 'Identifier' -i 'iOS Version'
Option (short) | Option (long) | Description |
---|---|---|
-d IDENTIFIER |
--device IDENTIFIER |
Device identifier |
-i VERSION |
--version VERSION |
iOS version |
- A computer running macOS
- At least 250mbs of free space on your computer
- An Internet connection
- asr64_patcher
- A compiled binary can be found here
- img4lib
- A compiled binary can be found here
- kairos
- A compiled binary can be found here
- Kernel64Patcher
- Link Identity Editor
- A compiled binary can be found here
- Python dependencies:
pip3 install -r requirements.txt
- exploit3d for asr64_patcher
- NotHereForTheDong for creating many Firmware Bundles and beta testing
- tale, Chibibowa, and Moses for beta testing
Finally, if you need help or have any questions about Inferius, join my Discord server.