Skip to content
Projects

EthanArbuckle/fairplay-decrypt has 2,376 GitHub stars and 366 forks. GitHot measured +8 stars in 24 hours. Last checked 2026-11-07 21:53 UTC. Last push 2026-11-01.

How these counts are measured

Offline FairPlay App Store IPA decryption with independent key derivation

Measured star growth

in 24h
+8
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

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.

Explore related projects