Skip to content

9. Usage Guide: AppMon Android Tracer

Nishant Das Patnaik edited this page Jun 13, 2017 · 8 revisions

Video Tutorial

Usage Guide

  • Open a Terminal and type cd appmon/tracer and next when you type python android_tracer.py, you shall see the following help message.

     ___      .______   .______   .___  ___.   ______   .__   __. 
    /   \     |   _  \  |   _  \  |   \/   |  /  __  \  |  \ |  | 
   /  ^  \    |  |_)  | |  |_)  | |  \  /  | |  |  |  | |   \|  | 
  /  /_\  \   |   ___/  |   ___/  |  |\/|  | |  |  |  | |  . `  | 
 /  _____  \  |  |      |  |      |  |  |  | |  `--"  | |  |\   | 
/__/     \__\ | _|      | _|      |__|  |__|  \______/  |__| \__| 
                        github.com/dpnishant
                                                                  

usage: android_tracer.py [-h] [-a APP_NAME] [-c CLASS_NAME] [-m METHOD_NAME]
                         [-v]

optional arguments:
  -h, --help      show this help message and exit
  -a APP_NAME     Process Name; Accepts "com.twitter.android"
  -c CLASS_NAME   Class Name; Example: "OpenSSL*SHA*"
  -m METHOD_NAME  Method Name; Example: "*digest*";
  -v              show program's version number and exit

  • -a argument: You can the list of process names (bundle IDs) of a USB connected Android device by either running python appmon.py -ls 1 or frida-ps -U and then choose the process name you want to run the tracer against

  • -c argument: You can find a class name from the android developer documentation, you can provide the class name with wildcard pattern. NOTE: Regex is not supported

  • -m argument: The exact method name you want to trace, this is case-sensitive and accepts wildcards but does not accept regex patterns.