Analysis of Inter-Component Communication links (ICC) and source code of Android applications (AST).
One of the main goal is to identify dark patterns through models computations on piggybacked applications and non-piggybacked applications.
Different facets of Android applications are represented with JSMF models. These models are defined from a PEG.js grammar and instantiated with data that are coming from decompiled Android applications.
This prototype started as a use case of JSMF.
Deploy on your server
$ git clone --recursive https://github.com/ICC-analysis/JSMF-Android.git $ cd jsmf-interact/ $ ./install.sh $ node app.js Listening on port 3000
OpenJDK 8 will be installed, check with update-alternatives that it is the default version of Java used on your system.
If you want to access the application to the port 80 (Do not do that on a production server):
$ sudo iptables -t nat -A PREROUTING -i [interface] -p tcp --dport 80 -j REDIRECT --to-port 3000
Deploy on Heroku
Heroku only provides 64 bits based architectures (cedar-14, heroku-16). Consequently you will have problems with dare which is a 32 bit executable (you will still be able to analyze ICC links).
$ git clone https://github.com/jssottet/protobuffToJSMF.git $ cd jsmf-interact/ $ heroku create $ heroku buildpacks:add --index 1 heroku/nodejs $ heroku buildpacks:add --index 2 heroku/java $ git push heroku master $ heroku open
An instance is available here.
The views are generated from the JSMF models of the applications. More information here.