Skip to content

Configuration–free usage of IccTA

Jordan Samhi edited this page Jan 22, 2020 · 2 revisions

Author: Jordan Samhi

This page aims at describing the usage of two scripts which provide automatic configuration and launcher for IccTA.

PRE-REQUISITES

Prior to execute these scripts, one has to have a working mysql server and the client. Also one has to have a user of the database able to create a database and importing a schema in this database.

Also, the tools executed in these scripts are Java tools using soot, hence one has to use Java 8 as the default JRE. Or one can just modify the script and change the java instruction by the path to a Java 8 executable.

Auto configuration

Donwload and execute the script:

wget https://github.com/JordanSamhi/Tools/raw/master/autoconf_iccta.sh
chmod +x autoconf_iccta.sh
./autoconf_iccta.sh

The script will ask for three information: The database username, the database password and the path to the platforms folder.

These options can be passed manually on the command line:

  • -u USERNAME
  • -p PASSWORD
  • -j PATH_TO_PLATFORMS

Usage example:

./autoconf_iccta.sh -u USERNAME -p PASSWORD -j PATH_TO_PLATFORMS

Auto launcher

Download and execute the script:

wget https://github.com/JordanSamhi/Tools/raw/master/launch_iccta.sh
chmod +x launch_iccta.sh
./launch_iccta.sh

The script will ask for two information: the APK to analyze and the path to an android.jar.

These options can be passed manually on the command line:

  • -a PATH_TO_APK
  • -p PATH_TO_ANDROID.jar

Usage example:

./launch_iccta.sh -a PATH_TO_APK -p PATH_TO_ANDROID.jar

Basic workflow

The simpler workflow is:

#Go to an empty directory
mkdir EMPTY_DIR
cd EMPTY_DIR
./autoconf_iccta.sh -u USERNAME -p PASSWORD -j PATH_TO_PLATFORMS
./launch_iccta.sh -a PATH_TO_APK -p PATH_TO_ANDROID.jar

The results are not shown in the standard output but in files that you can find in EMPTY_DIR/soot-infoflow-android-iccta/logs/ for the output of Dare, IC3 and IccTA.