
Download latest Android SDK, and add the following tools into your PATH environment variable:
Java version 7
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"
antDownload 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.zipWait until the installation finish and the system reboots (You will see Android Logo after reboot) and then run in root mode: ~~~bash adb root ~~~
Download the intel emualtor image here. It includes files as below:
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 1024Compile using java 7
export JAVA_HOME="PATH_TO_JAVA_7"
antStart instrumentation server using
./start-instrumentation.sh [config_file] #or
./start-instrumentation.sh disl.config.sample #using the sample configInstall the target app "com.fdhgkjhrtjkjbx.model.apk"
adb install com.fdhgkjhrtjkjbx.model.apkUse 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 1000Dumpping log via Android default Logging. You can fetch the log and filter your result by
adb logcat | grep YOUR_TAGe.g., use the following scripts you will get the output of our information leak analysis.
./get-violations.sh
./get-violation-detail.sh [idx]