Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marzzzello/ipa-dumper
(mirror) Automatically install apps on a jailbroken device iOS device and generate a decrypted ipa packages
https://github.com/marzzzello/ipa-dumper
apple dumper ios ipa
Last synced: about 2 months ago
JSON representation
(mirror) Automatically install apps on a jailbroken device iOS device and generate a decrypted ipa packages
- Host: GitHub
- URL: https://github.com/marzzzello/ipa-dumper
- Owner: marzzzello
- License: mit
- Created: 2021-07-08T14:13:15.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-05-17T16:36:17.000Z (over 2 years ago)
- Last Synced: 2024-05-01T16:48:28.687Z (8 months ago)
- Topics: apple, dumper, ios, ipa
- Language: Python
- Homepage: https://gitlab.com/marzzzello/ipa-dumper
- Size: 229 KB
- Stars: 33
- Watchers: 5
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
![](https://forthebadge.com/images/badges/built-with-love.svg)
![](https://forthebadge.com/images/badges/fuck-it-ship-it.svg)
![](https://forthebadge.com/images/badges/contains-Cat-GIFs.svg)[![Repo on GitLab](https://img.shields.io/badge/repo-GitLab-fc6d26.svg?style=for-the-badge&logo=gitlab)](https://gitlab.com/marzzzello/ipa-dumper)
[![Repo on GitHub](https://img.shields.io/badge/repo-GitHub-4078c0.svg?style=for-the-badge&logo=github)](https://github.com/marzzzello/ipa-dumper)
[![license](https://img.shields.io/github/license/marzzzello/ipa-dumper.svg?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIHN0eWxlPSJmaWxsOiNkZGRkZGQiIGQ9Ik03IDRjLS44MyAwLTEuNS0uNjctMS41LTEuNVM2LjE3IDEgNyAxczEuNS42NyAxLjUgMS41UzcuODMgNCA3IDR6bTcgNmMwIDEuMTEtLjg5IDItMiAyaC0xYy0xLjExIDAtMi0uODktMi0ybDItNGgtMWMtLjU1IDAtMS0uNDUtMS0xSDh2OGMuNDIgMCAxIC40NSAxIDFoMWMuNDIgMCAxIC40NSAxIDFIM2MwLS41NS41OC0xIDEtMWgxYzAtLjU1LjU4LTEgMS0xaC4wM0w2IDVINWMwIC41NS0uNDUgMS0xIDFIM2wyIDRjMCAxLjExLS44OSAyLTIgMkgyYy0xLjExIDAtMi0uODktMi0ybDItNEgxVjVoM2MwLS41NS40NS0xIDEtMWg0Yy41NSAwIDEgLjQ1IDEgMWgzdjFoLTFsMiA0ek0yLjUgN0wxIDEwaDNMMi41IDd6TTEzIDEwbC0xLjUtMy0xLjUgM2gzeiIvPjwvc3ZnPgo=)](LICENSE.md)
[![commit-activity](https://img.shields.io/github/commit-activity/m/marzzzello/ipa-dumper.svg?style=for-the-badge)](https://img.shields.io/github/commit-activity/m/marzzzello/ipa-dumper.svg?style=for-the-badge)
[![Mastodon Follow](https://img.shields.io/mastodon/follow/103207?domain=https%3A%2F%2Fsocial.tchncs.de&logo=mastodon&style=for-the-badge)](https://social.tchncs.de/@marzzzello)# ipa-dumper
Automatically install apps on a jailbroken device iOS device and generate decrypted IPAs
## Requirements
- Linux/macOS device (tested on Arch Linux and macOS 12) with Python 3.7+
- Jailbroken iOS device (tested on [iPhone 6s, iOS 14.2, iPhone 6, iOS 12.5.4 and iPhone Xʀ iOS 14.5])## Setup
### iOS device
- Set device language to English or German or **alternativly** make a folder with images of the buttons of your language and theme. Take the existing folder as an [example](https://gitlab.com/marzzzello/ipa-dumper/-/tree/master/ipadumper/appstore_images) and use the `--imagedir` argument.
- Disable password prompt for installing free apps under settings (Apple account -> Media & Purchases -> Password Settings)
- Connect the device to your computer and make sure to accept the trust dialog
- Install the following packages from Cydia:
- OpenSSH
- Open for iOS 11
- Frida from https://build.frida.re
- FoulDecrypt from https://repo.misty.moe/apt
- NoAppThinning from https://n3d1117.github.io
- ZXTouch from https://zxtouch.net### Linux/macOS device
- connect to iOS device via USB
- Setup OpenSSH (needs to work with keyfile):- run `ssh-keygen -t ed25519 -f iphone` (don't use a passphrase)
- run `iproxy 22222 22` (Run this background/another terminal session)
- run `ssh-copy-id -p 22222 -i iphone root@localhost` (default password is `alpine`)- Install [ideviceinstaller](https://github.com/libimobiledevice/ideviceinstaller) (this should also install iproxy/libusbmuxd as requirement)
- On macOS install using brew `brew install libusbmuxd` and `brew install libimobiledevice`
- Install ipadumper with `pip install ipadumper`
- Run `ipadumper help`## Usage
```
usage: ipadumper [-h] [-v {warning,info,debug}]
{help,usage,itunes_info,bulk_decrypt,dump,ssh_cmd,install}
...Automatically install apps on a jailbroken device iOS device and generate
decrypted IPAspositional arguments:
{help,usage,itunes_info,bulk_decrypt,dump,ssh_cmd,install}
Desired action to perform
help Print this help message
usage Print full usage
itunes_info Downloads info about app from iTunes site
bulk_decrypt Installs apps, decrypts and uninstalls them
dump Decrypt app binary und dump IPA
ssh_cmd Execute ssh command on device
install Opens app in appstore on device and simulates touch
input to download and installs the appoptional arguments:
-h, --help show this help message and exit
-v {warning,info,debug}, --verbosity {warning,info,debug}
Set verbosity level (default: info)All commands in detail:
itunes_info:
usage: ipadumper itunes_info [-h] [--country COUNTRY] itunes_idDownloads info about app from iTunes site
positional arguments:
itunes_id iTunes IDoptional arguments:
-h, --help show this help message and exit
--country COUNTRY Two letter country code (default: us)Common optional arguments for bulk_decrypt, dump, ssh_cmd, install:
optional arguments:
--device_address HOSTNAME device address (default: localhost)
--device_port PORT device port (default: 22222)
--ssh_key PATH Path to ssh keyfile (default: iphone)
--imagedir PATH Path to appstore images (default:
$HOME/.local/lib/python3.9/site-
packages/ipadumper/appstore_images)
--theme THEME Theme of device dark/light (default: dark)
--lang LANG Language of device (2 letter code) (default: en)
--udid UDID UDID (Unique Device Identifier) of device
(default: None)
--base_timeout SECONDS Base timeout for various things (default: 15)bulk_decrypt:
usage: ipadumper bulk_decrypt [-h] [--device_address HOSTNAME]
[--device_port PORT] [--ssh_key PATH]
[--imagedir PATH] [--theme THEME] [--lang LANG]
[--udid UDID] [--base_timeout SECONDS]
[--parallel PARALLEL]
[--timeout_per_MiB SECONDS] [--country COUNTRY]
itunes_ids outputInstalls apps, decrypts and uninstalls them
positional arguments:
itunes_ids File containing lines with iTunes IDs
output Output directoryoptional arguments:
--theme THEME Theme of device dark/light (default: dark)
--lang LANG Language of device (2 letter code) (default: en)
--udid UDID UDID (Unique Device Identifier) of device
(default: None)
--parallel PARALLEL How many apps get installed in parallel (default:
3)
--timeout_per_MiB SECONDS Timeout per MiB (default: 0.5)
--country COUNTRY Two letter country code (default: us)dump:
usage: ipadumper dump [-h] [--device_address HOSTNAME] [--device_port PORT]
[--ssh_key PATH] [--imagedir PATH] [--theme THEME]
[--lang LANG] [--udid UDID] [--base_timeout SECONDS]
[--frida] [--timeout SECONDS]
bundleID PATHDecrypt app binary und dump IPA
positional arguments:
bundleID Bundle ID from app like com.app.name
PATH Output filenameoptional arguments:
--theme THEME Theme of device dark/light (default: dark)
--lang LANG Language of device (2 letter code) (default: en)
--udid UDID UDID (Unique Device Identifier) of device
(default: None)
--frida Use Frida instead of FoulDecrypt (default: False)
--timeout SECONDS Dump timeout (default: 120)ssh_cmd:
usage: ipadumper ssh_cmd [-h] [--device_address HOSTNAME] [--device_port PORT]
[--ssh_key PATH] [--imagedir PATH] [--theme THEME]
[--lang LANG] [--udid UDID] [--base_timeout SECONDS]
cmdExecute ssh command on device
positional arguments:
cmd commandoptional arguments:
--theme THEME Theme of device dark/light (default: dark)
--lang LANG Language of device (2 letter code) (default: en)
--udid UDID UDID (Unique Device Identifier) of device
(default: None)install:
usage: ipadumper install [-h] [--device_address HOSTNAME] [--device_port PORT]
[--ssh_key PATH] [--imagedir PATH] [--theme THEME]
[--lang LANG] [--udid UDID] [--base_timeout SECONDS]
itunes_idOpens app in appstore on device and simulates touch input to download and
installs the apppositional arguments:
itunes_id iTunes IDoptional arguments:
--theme THEME Theme of device dark/light (default: dark)
--lang LANG Language of device (2 letter code) (default: en)
--udid UDID UDID (Unique Device Identifier) of device
(default: None)
```