DASCA combines dynamic and static techniques for analysing code for finding security (i.e., vulnerabilities), safety, or reliability problems.
Go to file
Achim D. Brucker cee54c801c Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
buildSrc Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
com.logicalhacking.dasca.crosslanguage Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
com.logicalhacking.dasca.crosslanguage.test Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
com.logicalhacking.dasca.dataflow File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
com.logicalhacking.dasca.dataflow.test.data File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
com.logicalhacking.dasca.js File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
gradle/wrapper File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
.gitignore File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
CITATION Added ESSoS 2016 publication. 2016-07-28 23:51:21 +01:00
LICENSE Initial commit 2015-05-30 23:28:28 +02:00
README.md Updated cloning instructions. 2018-10-26 23:01:13 +01:00
build.gradle Integrated extraction of android.jar from Android SDK based on the implementation of the WALA gradle setup. 2018-10-27 21:35:20 +01:00
gradle.properties File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
gradlew File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
gradlew.bat File hierarchy refactoring. 2018-10-27 16:19:07 +01:00
settings.gradle File hierarchy refactoring. 2018-10-27 16:19:07 +01:00

README.md

DASCA

Installation

Prerequisites

Checkout

The repository can be cloned as usual:

git clone https://git.logicalhacking.com/DASCA/DASCA.git

Resolving external dependencies

  • Ensure that the environment variable ANDROID_HOME is set correctly and that the Android SDK has API 19 installed, i.e., ${ANDROID_HOME}/platforms/android-19/android.jar should be a valid path.
  • Install apktool_2.3.0.jar into your local maven repository:
cd $(mktemp -d)
wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.3.0.jar
mvn install:install-file -Dfile=apktool_2.3.0.jar -DgroupId=apktool -DartifactId=apktool -Dpackaging=jar -Dversion=2.3.0

WALA configuration

DASCA (and the underlying WALA setup) is tested with Java version 8. If DASCA is installed using Java 8, there should be no need for updating the WALA configuration.

If you experience problems or want to optimize the performance (e.g., by analyzing the programs based on a different Java version), you might need to configure the location of the Java JDK. The JDK used as part of the static analysis is configured in the wala.properties file, e.g.

cd DASCA/
echo "java_runtime_dir = <PATH-TO-JDK>" >> externals/WALA/com.ibm.wala.core/dat/wala.properties

Don't forget to adjust the path to the Java JDK accordingly, i.e., the <PATH-TO-JDK> should point to the directory containing the file rt.lib.

How to Compile

First check that the variable JAVA_HOME is configured correctly, e.g.:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Second, resolve the dependencies using maven:

cd src/com.logicalhacking.dasca.parent/
mvn -P wala clean verify -DskipTests=true 

After this, all projects can be imported into a fresh Eclipse workspace using File -> Import -> Maven -> Existing Maven Projects:

  1. Select the DASCA src folder as source for the import
  2. Import all offered projects (WALA and DASCA)

While some WALA projects may contain compilation errors, all DASCA projects (i.e., com.logicalhacking.dasca.*) should compile without errors.

Team

Main contact: Achim D. Brucker

Contributors

License

This project is licensed under the Eclipse Public License 1.0.

Publications