Skip to main content

autodecrypt

PyPI version

Simple tool to decrypt iOS firmware images.

Going to the iPhone wiki and copying and pasting firmware keys to your terminal is boring.

autodecrypt will grab keys for you and decrypt the firmware image you want.

Usage

Usage: autodecrypt [OPTIONS]

Options:
  -f, --filename TEXT             File  [required]
  -d, --device TEXT               Device  [required]
  -i, --ios_version TEXT          iOS version
  -b, --build TEXT                Build ID of iOS version
  -k, --ivkey TEXT                IV and key to decrypt file
  -l, --local                     Use path to local file
  -D, --download                  Download file
  -B, --beta                      Specify that it is a beta firmware
  -P, --pongo                     Use PongoOS over USB for decryption
  --install-completion [bash|zsh|fish|powershell|pwsh]
                                  Install completion for the specified shell.
  --show-completion [bash|zsh|fish|powershell|pwsh]
                                  Show completion for the specified shell, to
                                  copy it or customize the installation.
  --help                          Show this message and exit.

Dependencies

To run autodecrypt, use poetry with a virtualenv:

  • virtualenv -p python3 env
  • pip3 install poetry
  • poetry install

Installation

pip3 install autodecrypt

Examples

Download and decrypt iBSS using keys from theiphonewiki

» autodecrypt -f iBSS.iphone6.RELEASE.im4p -i 10.3.3 -d iPhone6,2
[i] downloading iBSS.iphone6.RELEASE.im4p
[i] image : ibss
[i] grabbing keys for iPhone6,2/14G60
[x] iv  : f2aa35f6e27c409fd57e9b711f416cfe
[x] key : 599d9b18bc51d93f2385fa4e83539a2eec955fce5f4ae960b252583fcbebfe75
[i] decrypting iBSS.iphone6.RELEASE.im4p to iBSS.iphone6.RELEASE.bin...
[x] done

Download and decrypt SEP firmware by specifying keys

» autodecrypt -f sep-firmware.n841.RELEASE.im4p -b 17C5053a -d iPhone11,8 -k 9f974f1788e615700fec73006cc2e6b533b0c6c2b8cf653bdbd347bc1897bdd66b11815f036e94c951250c4dda916c00
[i] downloading sep-firmware.n841.RELEASE.im4p
[x] iv  : 9f974f1788e615700fec73006cc2e6b5
[x] key : 33b0c6c2b8cf653bdbd347bc1897bdd66b11815f036e94c951250c4dda916c00
[i] decrypting sep-firmware.n841.RELEASE.im4p to sep-firmware.n841.RELEASE.bin...
[x] done

Use foreman instance to grab firmware keys

» export FOREMAN_HOST="https://foreman-public.sudosecuritygroup.com"
» autodecrypt -f LLB.n112.RELEASE.im4p -i 13.2.3 -d iPod9,1
[i] downloading LLB.n112.RELEASE.im4p
[i] image : llb
[i] grabbing keys for iPod9,1/17B111
[i] grabbing keys from https://foreman-public.sudosecuritygroup.com
[x] iv  : 85784a219eb29bcb1cc862de00a590e7
[x] key : f539c51a7f3403d90c9bdc62490f6b5dab4318f4633269ce3fbbe855b33a4bc7
[i] decrypting LLB.n112.RELEASE.im4p to LLB.n112.RELEASE.bin...
[x] done

Decrypt keys with PongoOS

I you wanna use this on Linux, you may have some USB permissions. I recommend copying the file 66-pongos.rules available on this repository to /etc/udev/rules.d/.

» autodecrypt -f iBoot.n71.RELEASE.im4p -d iPhone8,1 -i 14.1 -p
[i] downloading iBoot.n71.RELEASE.im4p
[i] grabbing keys from PongoOS device
[i] kbag : 03C9E01CA99FE6475566C791777169C0625B04B7BD4E593DE0F61ABF4E8DB1A987D9D6155C5A1F41D9113694658AC61C
[x] iv  : 245a9b52e53a704fe73d7b58734b00ae
[x] key : d3aa3c8cc20fa9d61e466f46aee374a92a125abb5b3f57264025c8c72127e321
[i] decrypting iBoot.n71.RELEASE.im4p to iBoot.n71.RELEASE.bin...
[x] done

Log

For debugging purposes you can check autodecrypt.log :

11/02/2019 21:39:41 Launching "['autodecrypt/autodecrypt.py', '-d', 'iPhone9,3', '-f', 'iBoot.d10.RELEASE.im4p', '-i', '12.3.1']"
11/02/2019 21:39:41 requesting IPSW's API for iPhone9,3
11/02/2019 21:39:41 done, now looking for version or build
11/02/2019 21:39:41 grabbing firmware codename for 16F203
11/02/2019 21:39:42 codename : PeaceF
11/02/2019 21:39:42 grabbing IPSW file URL for iPhone9,3/12.3.1
11/02/2019 21:39:42 downloading iBoot...
11/02/2019 21:39:43 img4 -i iBoot.d10.RELEASE.im4p iBoot.d10.RELEASE.bin 978fd4680cd4b624b0dfea22a417f51f0ee2b871defed42277fe18885053b1eb5c7ffe82f38ab8cf7772c69a0db5d386

Credits

  • checkra1n team for AES patches, kbag.m and PongoOS
  • tihmstar for wiki parsing (my method was pretty bad)
  • m1stadev for PyIMG4

Metadata

Release files for autodecrypt 2.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autodecrypt 2.3.2
File Size Uploaded
autodecrypt-2.3.2.tar.gz 12.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autodecrypt 2.3.2
File Interpreter ABI Platform
autodecrypt-2.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 25.4 kB

Release files / autodecrypt-2.3.2.tar.gz

Download URL autodecrypt-2.3.2.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
efc0c00ddb1bc85c37fe1a28fccc28d34bca8b17e57e75d2ca043b99e6eb9635
BLAKE2b-256 checksum
How to use checksums
3a3c03ee42bd9bc0292be8afadc27347714ba9795303bbbd7998f5f9bca09b57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.9.10 Linux/5.10.0-8-amd64

Release files / autodecrypt-2.3.2-py3-none-any.whl

Download URL autodecrypt-2.3.2-py3-none-any.whl
Size 13.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
65e6ec4733a3822064a085341df0152b8cd05466fd90911df708c887512cc776
BLAKE2b-256 checksum
How to use checksums
98814e138b4a3472573a32698586b6dec2f0de042f787e21ac476a7228639fab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.9.10 Linux/5.10.0-8-amd64

Release history Release notifications | RSS feed

This release

2.3.2 This release

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

1 release file

2.0.2

2 release files

2.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page