EthanArbuckle/fairplay-decrypt
Offline FairPlay App Store IPA decryption with independent key derivation
About EthanArbuckle/fairplay-decrypt
EthanArbuckle/fairplay-decrypt is an open-source project on GitHub, mainly written in C. Offline FairPlay App Store IPA decryption with independent key derivation It currently holds 2,233 stars and 348 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
Git Homed tracks it on the Today's Trending board.
GitHub Repository Details
README
IPA decryptor
Decrypt FairPlay-encrypted apps using a 16-byte credential
for the account that owns each IPA. Credential retrieval
gets it from a supported jailbroken device and writes
credential.bin to the chosen output directory.
Decryption runs on macOS and Linux.
Supports version-3 and version-5 SUPF, 448-byte and 440-byte SINF priv
records, and encrypted arm64 Mach-O slices. A 440-byte record must end in
eight zero bytes.
Set up
From this directory, with Python 3.9+:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements.txt
The decryptor is pure Python. On macOS, make builds the
credential-retrieval bundle and requires Xcode and ldid.
Decrypt
python decrypt.py /path/to/encrypted.ipa /path/to/decrypted.ipa \
--credential /path/to/credential.bin
If --credential is omitted, the tool reads ./credential.bin. The output
path must not exist.
The decryptor uses each IPA's SINF and SUPF records to derive page keys,
decrypt its encrypted arm64 pages, and clear cryptid.