{"id":18301426,"url":"https://github.com/marzzzello/ipa-dumper","last_synced_at":"2025-11-05T20:04:00.280Z","repository":{"id":64729956,"uuid":"384147089","full_name":"marzzzello/ipa-dumper","owner":"marzzzello","description":"(mirror) Automatically install apps on a jailbroken device iOS device and generate a decrypted ipa packages","archived":false,"fork":false,"pushed_at":"2022-05-17T16:36:17.000Z","size":234,"stargazers_count":39,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-21T05:43:04.527Z","etag":null,"topics":["apple","dumper","ios","ipa"],"latest_commit_sha":null,"homepage":"https://gitlab.com/marzzzello/ipa-dumper","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marzzzello.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-08T14:13:15.000Z","updated_at":"2025-03-01T15:30:04.000Z","dependencies_parsed_at":"2022-12-15T03:41:41.661Z","dependency_job_id":null,"html_url":"https://github.com/marzzzello/ipa-dumper","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marzzzello%2Fipa-dumper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marzzzello%2Fipa-dumper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marzzzello%2Fipa-dumper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marzzzello%2Fipa-dumper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marzzzello","download_url":"https://codeload.github.com/marzzzello/ipa-dumper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247352330,"owners_count":20925249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple","dumper","ios","ipa"],"created_at":"2024-11-05T15:15:56.436Z","updated_at":"2025-11-05T20:04:00.240Z","avatar_url":"https://github.com/marzzzello.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://forthebadge.com/images/badges/built-with-love.svg)\n![](https://forthebadge.com/images/badges/fuck-it-ship-it.svg)\n![](https://forthebadge.com/images/badges/contains-Cat-GIFs.svg)\n\n[![Repo on GitLab](https://img.shields.io/badge/repo-GitLab-fc6d26.svg?style=for-the-badge\u0026logo=gitlab)](https://gitlab.com/marzzzello/ipa-dumper)\n[![Repo on GitHub](https://img.shields.io/badge/repo-GitHub-4078c0.svg?style=for-the-badge\u0026logo=github)](https://github.com/marzzzello/ipa-dumper)\n[![license](https://img.shields.io/github/license/marzzzello/ipa-dumper.svg?style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIHN0eWxlPSJmaWxsOiNkZGRkZGQiIGQ9Ik03IDRjLS44MyAwLTEuNS0uNjctMS41LTEuNVM2LjE3IDEgNyAxczEuNS42NyAxLjUgMS41UzcuODMgNCA3IDR6bTcgNmMwIDEuMTEtLjg5IDItMiAyaC0xYy0xLjExIDAtMi0uODktMi0ybDItNGgtMWMtLjU1IDAtMS0uNDUtMS0xSDh2OGMuNDIgMCAxIC40NSAxIDFoMWMuNDIgMCAxIC40NSAxIDFIM2MwLS41NS41OC0xIDEtMWgxYzAtLjU1LjU4LTEgMS0xaC4wM0w2IDVINWMwIC41NS0uNDUgMS0xIDFIM2wyIDRjMCAxLjExLS44OSAyLTIgMkgyYy0xLjExIDAtMi0uODktMi0ybDItNEgxVjVoM2MwLS41NS40NS0xIDEtMWg0Yy41NSAwIDEgLjQ1IDEgMWgzdjFoLTFsMiA0ek0yLjUgN0wxIDEwaDNMMi41IDd6TTEzIDEwbC0xLjUtMy0xLjUgM2gzeiIvPjwvc3ZnPgo=)](LICENSE.md)\n[![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)\n[![Mastodon Follow](https://img.shields.io/mastodon/follow/103207?domain=https%3A%2F%2Fsocial.tchncs.de\u0026logo=mastodon\u0026style=for-the-badge)](https://social.tchncs.de/@marzzzello)\n\n# ipa-dumper\n\nAutomatically install apps on a jailbroken device iOS device and generate decrypted IPAs\n\n## Requirements\n\n- Linux/macOS device (tested on Arch Linux and macOS 12) with Python 3.7+\n- Jailbroken iOS device (tested on [iPhone 6s, iOS 14.2, iPhone 6, iOS 12.5.4 and iPhone Xʀ iOS 14.5])\n\n## Setup\n\n### iOS device\n\n- 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.\n- Disable password prompt for installing free apps under settings (Apple account -\u003e Media \u0026 Purchases -\u003e Password Settings)\n- Connect the device to your computer and make sure to accept the trust dialog\n- Install the following packages from Cydia:\n  - OpenSSH\n  - Open for iOS 11\n  - Frida from https://build.frida.re\n  - FoulDecrypt from https://repo.misty.moe/apt\n  - NoAppThinning from https://n3d1117.github.io\n  - ZXTouch from https://zxtouch.net\n\n### Linux/macOS device\n\n- connect to iOS device via USB\n- Setup OpenSSH (needs to work with keyfile):\n\n  - run `ssh-keygen -t ed25519 -f iphone` (don't use a passphrase)\n  - run `iproxy 22222 22` (Run this background/another terminal session)\n  - run `ssh-copy-id -p 22222 -i iphone root@localhost` (default password is `alpine`)\n\n- Install [ideviceinstaller](https://github.com/libimobiledevice/ideviceinstaller) (this should also install iproxy/libusbmuxd as requirement)\n  - On macOS install using brew `brew install libusbmuxd` and `brew install libimobiledevice`\n- Install ipadumper with `pip install ipadumper`\n- Run `ipadumper help`\n\n## Usage\n\n```\nusage: ipadumper [-h] [-v {warning,info,debug}]\n                 {help,usage,itunes_info,bulk_decrypt,dump,ssh_cmd,install}\n                 ...\n\nAutomatically install apps on a jailbroken device iOS device and generate\ndecrypted IPAs\n\npositional arguments:\n  {help,usage,itunes_info,bulk_decrypt,dump,ssh_cmd,install}\n                        Desired action to perform\n    help                Print this help message\n    usage               Print full usage\n    itunes_info         Downloads info about app from iTunes site\n    bulk_decrypt        Installs apps, decrypts and uninstalls them\n    dump                Decrypt app binary und dump IPA\n    ssh_cmd             Execute ssh command on device\n    install             Opens app in appstore on device and simulates touch\n                        input to download and installs the app\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -v {warning,info,debug}, --verbosity {warning,info,debug}\n                        Set verbosity level (default: info)\n\n\nAll commands in detail:\nitunes_info:\nusage: ipadumper itunes_info [-h] [--country COUNTRY] itunes_id\n\nDownloads info about app from iTunes site\n\npositional arguments:\n  itunes_id          iTunes ID\n\noptional arguments:\n  -h, --help         show this help message and exit\n  --country COUNTRY  Two letter country code (default: us)\n\n\nCommon optional arguments for bulk_decrypt, dump, ssh_cmd, install:\noptional arguments:\n  --device_address HOSTNAME  device address (default: localhost)\n  --device_port PORT         device port (default: 22222)\n  --ssh_key PATH             Path to ssh keyfile (default: iphone)\n  --imagedir PATH            Path to appstore images (default:\n                             $HOME/.local/lib/python3.9/site-\n                             packages/ipadumper/appstore_images)\n  --theme THEME              Theme of device dark/light (default: dark)\n  --lang LANG                Language of device (2 letter code) (default: en)\n  --udid UDID                UDID (Unique Device Identifier) of device\n                             (default: None)\n  --base_timeout SECONDS     Base timeout for various things (default: 15)\n\n\nbulk_decrypt:\nusage: ipadumper bulk_decrypt [-h] [--device_address HOSTNAME]\n                              [--device_port PORT] [--ssh_key PATH]\n                              [--imagedir PATH] [--theme THEME] [--lang LANG]\n                              [--udid UDID] [--base_timeout SECONDS]\n                              [--parallel PARALLEL]\n                              [--timeout_per_MiB SECONDS] [--country COUNTRY]\n                              itunes_ids output\n\nInstalls apps, decrypts and uninstalls them\n\npositional arguments:\n  itunes_ids                 File containing lines with iTunes IDs\n  output                     Output directory\n\noptional arguments:\n  --theme THEME              Theme of device dark/light (default: dark)\n  --lang LANG                Language of device (2 letter code) (default: en)\n  --udid UDID                UDID (Unique Device Identifier) of device\n                             (default: None)\n  --parallel PARALLEL        How many apps get installed in parallel (default:\n                             3)\n  --timeout_per_MiB SECONDS  Timeout per MiB (default: 0.5)\n  --country COUNTRY          Two letter country code (default: us)\n\n\ndump:\nusage: ipadumper dump [-h] [--device_address HOSTNAME] [--device_port PORT]\n                      [--ssh_key PATH] [--imagedir PATH] [--theme THEME]\n                      [--lang LANG] [--udid UDID] [--base_timeout SECONDS]\n                      [--frida] [--timeout SECONDS]\n                      bundleID PATH\n\nDecrypt app binary und dump IPA\n\npositional arguments:\n  bundleID                   Bundle ID from app like com.app.name\n  PATH                       Output filename\n\noptional arguments:\n  --theme THEME              Theme of device dark/light (default: dark)\n  --lang LANG                Language of device (2 letter code) (default: en)\n  --udid UDID                UDID (Unique Device Identifier) of device\n                             (default: None)\n  --frida                    Use Frida instead of FoulDecrypt (default: False)\n  --timeout SECONDS          Dump timeout (default: 120)\n\n\nssh_cmd:\nusage: ipadumper ssh_cmd [-h] [--device_address HOSTNAME] [--device_port PORT]\n                         [--ssh_key PATH] [--imagedir PATH] [--theme THEME]\n                         [--lang LANG] [--udid UDID] [--base_timeout SECONDS]\n                         cmd\n\nExecute ssh command on device\n\npositional arguments:\n  cmd                        command\n\noptional arguments:\n  --theme THEME              Theme of device dark/light (default: dark)\n  --lang LANG                Language of device (2 letter code) (default: en)\n  --udid UDID                UDID (Unique Device Identifier) of device\n                             (default: None)\n\n\ninstall:\nusage: ipadumper install [-h] [--device_address HOSTNAME] [--device_port PORT]\n                         [--ssh_key PATH] [--imagedir PATH] [--theme THEME]\n                         [--lang LANG] [--udid UDID] [--base_timeout SECONDS]\n                         itunes_id\n\nOpens app in appstore on device and simulates touch input to download and\ninstalls the app\n\npositional arguments:\n  itunes_id                  iTunes ID\n\noptional arguments:\n  --theme THEME              Theme of device dark/light (default: dark)\n  --lang LANG                Language of device (2 letter code) (default: en)\n  --udid UDID                UDID (Unique Device Identifier) of device\n                             (default: None)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarzzzello%2Fipa-dumper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarzzzello%2Fipa-dumper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarzzzello%2Fipa-dumper/lists"}