Appmon is a framework which makes it easier to deploy iOS application with frida. It inserts a Frida gadget dylib into the iOS application, resigns it and install it onto a connected device. I found it helpful, because it is not necessary to use a jailbroken device for mobile application testing. However the installation is a little bit tricky. Check the documentation for more info.

These are the steps to install Appmon on Mac:

 

1. Clone Appmon from github. The appmon documentation can be found here.

https://github.com/dpnishant/appmon

 

2. Install pip

https://bootstrap.pypa.io/get-pip.py

 

3. Install the required components

sudo -H pip install argparse frida flask termcolor dataset

if you get an error, try this one:

sudo -H pip install argparse frida flask termcolor dataset –upgrade –ignore-installed six

more info can be found here.

 

4. Install ios-deploy

brew install ios-deploy

 

5. Install Appmon

cd appmon/ipa_installer/
sudo sh build.sh

 

6. List developer identities. You have to create a mobileprovisioning profile in XCode.

appmon/ipa_installer/node-applesign/bin/ipa-resign.js –identities

 

Now you can install an app with injected frida:

python ipa_installer.py -ipa <PATH_TO_IPA>/<IPA_FILE_NAME>

This will open an LLDB prompt. In case you want to restart the application, you do not have to reinstall it. Use this one instead:

sh ./apps/<APP_NAME>-injected-resigned/launch_<APP_NAME>.sh

 

Open another terminal and enter the following. This will open Frida prompt.

frida -U Gadget

 

Open another terminal and enter the following. This will start collecting log which can be seen on http://127.0.0.1:5000/. You can also write your own scripts.

python appmon.py -a Gadget -p ios -s scripts/iOS