Dump IPAs off a jailbroken iOS device automatically.
- Jailbreak the device
- Using your favorite package manager, add and install Frida using the Frida repo https://build.frida.re (Install docs)
- on the device, install the following:
open
plutil
- An SSH server
- Run
frida-server
(By default this will listen on0.0.0.0:27042
- use-l ip:port
to override)
Important
The idevice must be awake, otherwise the app cannot open.
- Clone this repo
- Copy
.env.example
to.env
- Fill out
.env
ideviceSSH
: SSH string to connect to the idevice inuser@host
format (You can also use presets from your SSH config)ideviceIP
: IP of the idevice to SSH into and use Frida fromideviceUser
: User for SSH (This is generallymobile
)idevicePort
: SSH port for the idevice (This is generally2222
or22
)FridaPort
: The port for the Frida server (frida-server
runs on27042
by default)IPAServer
: The web directory where you host IPAs (Should return200
if the IPA exists,404
otherwise)UploadDirectory
: The directory the IPAs are hosted from forIPAServer
AppName
: The app's name (The first letter is usually capitalized)AppIdentifier
: The app's identifier (This usually looks likeTLD.company.app
)DiscordWebhook
[Optional]: The URL for the webhook
- Run
setup.sh
(You may need tochmod +x
the file)- This script does the following:
- Clones required submodules into the repository
- Adds execution permission to
GetIPA.sh
- Initializes a Python virtual environment
- Installs required Python dependencies
- Run
GetIPA.sh
- This script does the following:
- Grabs variables from the
.env
file - SSHs into the idevice to get the app version information
- Checks whether the IPA exists already on the server
- If it does, exit.
- SSHs into the idevice and uses
open
to open the specified app - Runs
frida-ios-dump
'sdecrypter.py
- This places the IPA file into the current folder
- Rename the IPA file to
{name}_{semver}_{build}.ipa
and move to the server directory