🤖 + @JS-MF Visualization of Inter-Component Communication and source code for Android applications with @JS-MF.
HTML JavaScript Shell Python Batchfile Protocol Buffer
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
static
var
views
.buildpacks
.gitignore
.gitmodules
Procfile
README.md
app.js
app.json
bootstrap.js
bower.json
comparator.js
conf.js
helper.js
install.sh
javamodel.js
log.js
package.json
pom.xml
process.js
system.properties

README.md

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.

Install

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

demo instance

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.

Concepts

process

The views are generated from the JSMF models of the applications. More information here.

Contact