How to download .ipa file from App Store


Introduction
Here are three ways to download iOS apps from Apple App Store for your attention:
-
Using Apple Configurator 2 (legal way)
- Here you need to have an app on your phone
-
Using ipatool (kinda legal way)
- Here you need appleId credentials
-
Using any iOS executable dumper (illegal way)
- Here you have to be Jailbroken
Using Apple Configurator
-
Download an app from App Store to your phone
-
Open Apple Configurator 2 on your Mac and log into your Apple account
-
Connect your phone to your Mac using a USB cable
-
Into Apple Configurator 2 select your phone
-
Then tap on the «Add» button in the top, then tap on Apps button
-
Choose the app and tap on «Add» button
-
Finally it could tell you an app already exists, but don’t worry — just be in a hurry to grab an .ipa using this path:
~/Library/Group\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps/
Using ipatool
-
Install the tool
brew tap majd/repo brew install ipatool
-
Authenticate with the App Store
ipatool auth login -e <appleId> -p <password>
-
Download the app
ipatool download -b <bundleId>
Using any iOS executable dumper
As I said for this method you will need a Jailbreak. It can be illegal and provoke side effects, so do it at your own risk. When writing this article I used Checkra1n and frida-ios-dump for this purpose.
On device:
-
Make a Jailbreak
-
Open Cydia app
-
Add the source «https://build.frida.re»
-
Search for Frida and install it
On computer:
-
Install frida
pip3 install frida-tools
-
Install frida-ios-dump
git clone https://github.com/AloneMonkey/frida-ios-dump.git cd frida-ios-dump pip3 install -r requirements.txt --upgrade
-
Install usbmuxd
brew install usbmuxd
-
Connect to your phone using ssh
iproxy 2222 44 & sleep 3 ssh -p 2222 root@localhost # default password: alpine
-
Open a new Terminal window and pull decrypted .ipa
cd frida-ios-dump python3 dump.py "<your_bundle>" # default password: alpine
Conclusion
Downloading apps from Apple App Store is pretty hard process, but still possible as manually as automated.
Also you could to find an answer how to download an .apk from Android Play Store here.
