-
Notifications
You must be signed in to change notification settings - Fork 278
8. Usage Guide: AppMon IPA Installer
sh build.sh
- Open a Terminal and change type
cd appmon/ipa_installer
and next when you typepython ipa_installer.py
, you shall see the following help message
___ .______ .______ .___ ___. ______ .__ __.
/ \ | _ \ | _ \ | \/ | / __ \ | \ | |
/ ^ \ | |_) | | |_) | | \ / | | | | | | \| |
/ /_\ \ | ___/ | ___/ | |\/| | | | | | | . ` |
/ _____ \ | | | | | | | | | `--' | | |\ |
/__/ \__\ | _| | _| |__| |__| \______/ |__| \__|
github.com/dpnishant
usage: ipa_installer.py [-h] [-ipa IPA_PATH]
[-mobileprovision MOBILEPROVISION_PATH]
[-identity DEV_IDENTITY] [-uuid UUID] [-v]
optional arguments:
-h, --help show this help message and exit
-ipa IPA_PATH (Absolute) Path to IPA
-mobileprovision MOBILEPROVISION_PATH
(Absolute) Path to embedded.mobileprovision (OPTIONAL)
-identity DEV_IDENTITY
Developer Identity Hash (OPTIONAL)
-uuid UUID Device UUID (OPTIONAL)
-v show program's version number and exit
- If you have created the developer profile (exactly as mentioned here and on the same Mac on which you shall be running the AppMon IPA Installer, then all you need to provide the script is the IPA's absolute path
- Open a Terminal and just type
python ipa_installer.py -ipa <path of IPA>
, the script takes care of the rest of the things by itself - If still not sure, watch this Tutorial Video
NOTE: It is observed that sometimes the "Frida: Listening on TCP port 27042" is not printed on the debugger console even after enough wait. It is a known issue on newer versions of Frida (>= 9.0)
This should not be an issue as long as you did not face any other error during the IPA installation/launch process then you may just try to attach frida
to the process called Gadget
as a quick smoke test.
If the attach was successful, you can use appmon as you normally would or as guided in Usage Guide: AppMon Sniffer or Usage Guide: AppMon Intruder etc.
[ 0%] Looking up developer disk image
2016-09-23 01:08:54.379 ios-deploy[7691:41691] [ !! ] Unable to mount developer disk image. (e8000033)
Explanation: It probably means your Xcode version isn't compatible with the iOS version.
- You can upgrade you Xcode to the latest version. You can download your desired version of Xcode from https://developer.apple.com/download/more/
- Unplug, reboot and re-connect your device to you Mac
- Follow the 4.b.i Creating a iOS Developer Profile guide.
- Note: If you have, already, followed the above guide and have the
HelloWorld
project, then open that project and repeat Step #4 and #5 i.e. run the project on your device.
- Note: If you have, already, followed the above guide and have the
- Once the app successfully runs on your device (via Xcode), you may quit Xcode and re-try installing the IPA.
Assertion failed: (app_dict != NULL), function copy_device_app_url, file /usr/local/lib/node_modules/.staging/ios-deploy-298c9491/src/ios-deploy/ios-deploy.m, line 668.
Explanation: It probably means your Apple Developer (iOS) certificate has either expired or has been revoked
- Open
Keychain
App > SelectCertificates
> Select alliPhone Developer
certificates > right click > Delete - Unplug, reboot and re-connect device
- Open
Xcode
> Product (in menu) > Clean (Shift + Command + K) - Follow the 4.b.i Creating a iOS Developer Profile guide.
- Note: If you have, already, followed the above guide and have the
HelloWorld
project, then open that project and repeat Step #4 and #5 i.e. run the project on your device.
- Note: If you have, already, followed the above guide and have the
"[ !! ] Unable to locate DeviceSupport directory. This probably means you don't have Xcode installed, you will need to launch the app manually and logging output will not be shown!"
-
Make sure you are using the latest version of the required toolchain using the following shell command
ios-deploy -V && xcodebuild -version && xcode-select --print-path && gcc --version && lldb --version
-
Then run the following shell command, while you are still in the
/Applications/Xcode.app/Contents/Developer/platforms/iPhoneOS.platform/DeviceSupport
directory:
ls -la
If your device is running a version of iOS that is newer (e.g. beta release versions) than the most recent OS version available within XCode, then running the following command with the right placeholder values should solve the issue.
sudo ln -s <most_recent_version> <actual_version_on_device>
Example:
sudo ln -s 10.3.1\ \(14E8301\) 10.3.3
(where 10.3.3 is the OS running on the iOS device)