Extract an IPA from an iPhone in one command
getIPA pulls an app off your own jailbroken iPhone and packages it as a decrypted IPA in one command. What you need, how to use it and why decryption matters.
Free open-source tool
Pull an app off your own jailbroken iPhone and package it as an IPA in one command. getIPA does the SSH, copy, zip and download for you, and gives you a decrypted copy that's ready to analyse.
Runs on your own computer. Nothing is sent to us.
Recommended
One command installs getIPA from PyPI. The second is a one-time step that adds bagbak, which makes decrypted copies. Skip it if you only want raw copies.
pipx install getipa
getipa --install-bagbakSource code
The full source, the README and the MIT licence. Clone it and run the installer, which also sets up bagbak.
git clone https://github.com/RansomWhisker/getIPA.git
cd getIPA
./install.shOnly use getIPA on apps and devices you own or are authorised to test.
Run getipa. It asks for your username (usually root, or mobile on some newer jailbreaks), the phone's IP address (just the last number works: 9 means 192.168.1.9) and the SSH password you set on the phone. Then it lists your apps, newest first, with Apple's own apps hidden.
$ getipa
Username [root]: root
Device IP (just the last number works, e.g. 9 = 192.168.1.9): 9
[*] Using 192.168.1.9
Recently installed apps (newest first):
1. 2026-11-04 18:22 com.example.app 2.4.1 Example
Pick a number (or Enter to quit): 1
Extract as:
1) Decrypted IPA (recommended)
2) Encrypted IPA (raw copy, fastest)
[+] Wrote ipas/com.example.app_2.4.1.ipaExample output with a placeholder app.
--list-b com.example.app--decrypted--encrypted--info--info-file app.ipa--host, --port, --user--key PATH-o DIRHow to use the result
getipa --info-file app.ipa shows permissions, entitlements, App Transport Security settings, URL schemes and frameworks. Settings that weaken transport security are flagged.appsleuth scan app.ipa checks for secrets, weak transport security, missing hardening and risky web content, and writes an HTML report.Background
Apps from the App Store are encrypted on the phone (Apple calls it FairPlay). A plain copy gives you an IPA whose main code can't be read, so it's useless for analysis. getIPA checks for this and tells you. With bagbak, it dumps the app while it runs, so you get the real code. In the default mode it tries a decrypted copy first and falls back to the raw copy, with a warning, if that fails.
If the decrypted option fails, the usual cause is that frida-server isn't running on the phone. Install it from Sileo or Zebra, start it, and try again.
Change the default alpine password on your phone, prefer SSH keys, and use getIPA only on a network you trust.
getIPA is for apps and devices you own or are authorised to analyse: your own apps, security research, interoperability and personal backup, where the law allows. Don't use it to copy paid apps or get around licensing.
FAQ
Yes. getIPA is free and open source under the MIT licence. Install it with pipx install getipa, or download the source from GitHub.
No. getIPA runs on your own computer and has no telemetry. The only network traffic is your SSH connection to your phone, and the connection to frida-server on the phone if you ask for a decrypted copy.
Apps from the App Store are encrypted on the phone (Apple calls it FairPlay). A plain copy keeps that encryption, so the main binary can't be read, although Info.plist, entitlements and other resources still can. A decrypted IPA is dumped from the running app with bagbak, so you get the real code for analysis.
Yes. getIPA connects over SSH, which needs a jailbroken iPhone with OpenSSH running. Decrypted copies also need frida-server running on the phone and Node.js on your computer.
Yes, as an experimental option. Install it with pipx install getipa; it needs Python 3.9 or newer and the OpenSSH client built into Windows. Windows OpenSSH can't share one connection, so each step logs in separately and an SSH key (--key) works best. The install.sh script is for macOS and Linux only.
Only apps and devices you own or are authorised to test: your own apps, security research, interoperability and personal backup, where the law allows. Don't use it to copy paid apps or get around licensing.
getIPA pulls an app off your own jailbroken iPhone and packages it as a decrypted IPA in one command. What you need, how to use it and why decryption matters.
In-depth testing of your iOS and Android apps and the backend they talk to, aligned with OWASP MASVS.