Extract IPA from iPhone in one command
Pulling an app off a jailbroken iPhone usually means a pile of manual steps: SSH in, find the app folder, copy it, zip it, copy it back. And after all that, the IPA often turns out to be encrypted, so it’s useless for analysis.
I built getipa to do all of it in one command. It’s free and open source.
What you need
- A jailbroken iPhone with OpenSSH running, on the same Wi-Fi as your computer
- Python 3.9 or newer
- For decrypted IPAs only: Node.js, and
frida-serverrunning on the phone
Only use it on apps and devices you own or are authorised to test.
Install
pipx install getipa
getipa --install-bagbakThe second command is a one-time step. It installs bagbak, the tool that decrypts the app. Skip it if you only want raw copies.
Use it
Just run:
getipaIt asks for three things:
- Username: usually
root(on some newer jailbreaks,mobile) - Device IP: you can type just the last number.
9becomes192.168.1.9or a full IP of your device - Password: the one you set on the phone for SSH.
Then you see your apps, newest first, with Apple’s system apps hidden:
Pick one, then choose how to extract it:
- Decrypted IPA (recommended): ready to analyse
- Encrypted IPA: a fast raw copy.
Your IPA is saved in the ipas folder where you ran the command.
Why “decrypted” matters
Apps from the App Store are encrypted on the phone (Apple calls it FairPlay). A plain copy gives you a file whose main code you can’t read. getipa checks for this and tells you, so you never waste time on a dead file. With bagbak, it dumps the app while it runs, and you get the real code.
Get RansomWhisker’s stories in your inbox
Join Medium for free to get updates from this writer.
If the decrypted option fails, the usual cause is frida-server not running on the phone. Install it from Sileo or Zebra, start it, and try again.
Handy options
getipa --list # just show the apps
getipa -b com.example.shop # pick an app by bundle ID
getipa --decrypted # decrypted only
getipa --encrypted # raw copy only
getipa --info # print permissions and settings after extracting
getipa --info-file app.ipa # report on an IPA you already haveSafety
getipa never sends anything anywhere except over your own SSH connection. It opens a single SSH session, extracts files defensively, and keeps your password out of command lines and files.
Links
- getipa on GitHub: https://github.com/RansomWhisker/getIPA
- More tools by Rudranetra: https://rudranetra.com/tools
Built by Rudranetra.






