JMTracker is a tool that automatically tracks the Java method calls within an Android app. It can extract the names and parameter values of Java methods executed by the ART virtual machine during the app's runtime, and build them into a hierarchical method chain.
-
Install Python dependency libraries. It is recommended to perform installation in a separate virtual environment.
pip3 install -r requirements.txt
-
Flash the customized Android system image which in the
/aosp
folder into an Android smartphone.- We currently only offer the Android 10 image. If you require a different version of the system, you can refer to our tutorial to costumize, compile and flash AOSP image on your own.
- Make sure that the Android SDK tools are properly installed and configured on your computer.
-
Connect your smartphone to the computer, enter
adb
interactive mode, and start thefrida-server
.adb shell su 0 "/data/local/tmp/frida-server-12.11.18-android-arm64"
-
Start the JMTracker service and access it through a browser by visiting: http://127.0.0.1:8000/
python MainWebService.py
For information on how to use JMTracker and analysis example, please refer to the website of the paper.