2015-05-29 09:21:26 +00:00
|
|
|
# DASCA
|
2015-06-15 07:22:50 +00:00
|
|
|
## Installation
|
|
|
|
### Prerequisites
|
|
|
|
* Java 8
|
2015-10-29 12:48:37 +00:00
|
|
|
* Android SDK (to obtain dx.jar)
|
2015-10-15 08:34:37 +00:00
|
|
|
* Eclipse Mars, including
|
|
|
|
* Scala IDE
|
2015-10-15 10:39:15 +00:00
|
|
|
* Scala Maven Plugin (http://scala-ide.org/docs/tutorials/m2eclipse/)
|
2015-10-15 08:34:37 +00:00
|
|
|
* m2e plugin
|
|
|
|
* CVC3 including the Java bindings for CVC3
|
|
|
|
* apktool
|
|
|
|
|
2015-06-15 07:22:50 +00:00
|
|
|
|
|
|
|
### Checkout
|
|
|
|
Note that this repository imports WALA as a submodule. Thus,
|
2015-10-15 08:34:37 +00:00
|
|
|
you either need to recursively clone this repository, e.g.,
|
2015-06-27 18:27:39 +00:00
|
|
|
```
|
2016-07-28 22:45:31 +00:00
|
|
|
git clone --recursive https://git.logicalhacking.com/DASCA/DASCA.git
|
2015-06-27 18:27:39 +00:00
|
|
|
```
|
2015-06-27 19:09:51 +00:00
|
|
|
or execute ``git submodule update --init --recursive`` after
|
|
|
|
cloning the repository.
|
|
|
|
|
2015-10-15 08:34:37 +00:00
|
|
|
|
|
|
|
### Resolving external dependencies
|
2015-10-15 08:59:12 +00:00
|
|
|
* Ensure that the environment variable ``ANDROID_HOME`` is set correctly and that
|
2015-10-15 08:34:37 +00:00
|
|
|
the Android SDK has API 19 installed, i.e.,
|
2015-10-15 08:59:12 +00:00
|
|
|
``${ANDROID_HOME}/platforms/android-19/android.jar`` should be a valid path.
|
|
|
|
* Install ``apktool_2.0.0.jar`` into your local maven repository:
|
2015-06-15 07:22:50 +00:00
|
|
|
```
|
2015-10-15 08:34:37 +00:00
|
|
|
wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.0.0.jar
|
|
|
|
mvn install:install-file -Dfile=apktool_2.0.0.jar -DgroupId=apktool \
|
|
|
|
-DartifactId=apktool -Dpackaging=jar -Dversion=2.0.0
|
2015-10-15 08:57:06 +00:00
|
|
|
```
|
2015-06-15 07:22:50 +00:00
|
|
|
|
|
|
|
### How to Compile
|
2015-10-15 08:34:37 +00:00
|
|
|
First resolve the dependencies using maven:
|
2015-06-15 07:22:50 +00:00
|
|
|
```
|
2015-06-27 18:34:23 +00:00
|
|
|
cd DASCA/src/eu.aniketos.dasca.parent/
|
2015-06-15 07:22:50 +00:00
|
|
|
mvn -P wala clean install -DskipTests=true -q
|
|
|
|
```
|
|
|
|
After this, all projects can be imported into a fresh Eclipse
|
2015-10-15 08:34:37 +00:00
|
|
|
workspace using `File -> Import -> Maven -> Existing Maven Projects`:
|
2015-10-15 10:39:15 +00:00
|
|
|
1. Select the DASCA ``src`` folder as source for the import
|
|
|
|
2. Import all offered projects (WALA and DASCA)
|
2015-10-15 08:34:37 +00:00
|
|
|
While some Wala projects may contain compilation errors, all DASCA
|
2015-06-15 07:22:50 +00:00
|
|
|
projects (i.e., `eu.aniketos.dasca.*`) should compile without errors.
|
|
|
|
|
|
|
|
## Team
|
|
|
|
Main contact: [Achim D. Brucker](http://www.brucker.ch/)
|
|
|
|
|
|
|
|
### Contributors
|
|
|
|
* Thomas Deuster
|
|
|
|
* Michael Herzberg
|
|
|
|
* Tim Herres
|
2016-07-28 22:51:21 +00:00
|
|
|
|
|
|
|
### Publications
|
|
|
|
* Achim D. Brucker and Michael Herzberg. [On the Static Analysis of
|
|
|
|
Hybrid Mobile Apps: A Report on the State of Apache Cordova
|
|
|
|
Nation.](https://www.brucker.ch/bibliography/download/2016/brucker.ea-cordova-security-2016.pdf)
|
|
|
|
In International Symposium on Engineering Secure Software
|
|
|
|
and Systems (ESSoS). Lecture Notes in Computer Science (9639), pages
|
|
|
|
72-88, Springer-Verlag, 2016.
|
|
|
|
https://www.brucker.ch/bibliography/abstract/brucker.ea-cordova-security-2016
|
|
|
|
doi: [10.1007/978-3-319-30806-7_5](http://dx.doi.org/10.1007/978-3-319-30806-7_5)
|