Installation Guide

Prerequisites

  1. Download latest Android SDK, and add the following tools into your PATH environment variable:

  2. Java version 7

  3. Clone and build the repo at ADRENALIN-RV

    git clone https://github.com/Haiyang-Sun/ADRENALIN-RV.git
    cd ADRENALIN-RV
    export JAVA_HOME="PATH_TO_JAVA_7"
    ant
  4. Download the Nexus 5 image file here and flush the Android image with dynamic weaving with the following bash command:

    adb reboot-bootloader;
    fastboot -w update nexus.zip

    Wait until the installation finish and the system reboots (You will see Android Logo after reboot) and then run in root mode: ~~~bash adb root ~~~

  5. Download the intel emualtor image here. It includes files as below:

  6. You can start the emulator with the following bash command:

    emulator64-x86 -sdcard ../sdcard.img -sysdir ./ -system ./system.img -ramdisk ./ramdisk.img -data ./userdata.img -kernel ./kernel-qemu -memory 1024

Run the tool

  1. Go to the root directory of ADRENALIN-RV
  2. Compile using java 7

    export JAVA_HOME="PATH_TO_JAVA_7"
    ant
  3. Start instrumentation server using

    ./start-instrumentation.sh [config_file] #or
    ./start-instrumentation.sh disl.config.sample #using the sample config
  4. Install the target app "com.fdhgkjhrtjkjbx.model.apk"

    adb install com.fdhgkjhrtjkjbx.model.apk
  5. Use monkey to dynamically test your application. For example, below bash script will use monkey to launch an app and inject some random test events.

    adb shell monkey -p com.myapp -c android.intent.category.LAUNCHER 1
    adb shell monkey -p com.myapp --throttle 500 -v 1000
  6. Dumpping log via Android default Logging. You can fetch the log and filter your result by

    adb logcat | grep YOUR_TAG

    e.g., use the following scripts you will get the output of our information leak analysis.

    ./get-violations.sh
    ./get-violation-detail.sh [idx]