This repo contains the code and data for our paper `PROWISH: Measuring tracker market concentration'.
This is a pipeline for installing apps from the app store, using an automated UI on an android device, pulling the APKs from the device, and statically analysing them to detect third party libraries and hosts.
JDK version 1.8.0_25
Requires root access to the android device.
- Install android-developer-tools.
- Get the device id
adb devices
- Modify
static-app-analysis/install.py
with the device id. - Start ADB demon as root
adb root
- Run
python install.py
.
APK files will be written to a directory outside the repo called apks
There are two aspects to the APK analysis. Both require APKTool. The library detection tool is static-app-analysis/librarysearch.js
. The host detection tool is static-app-analysis/hostsearch2.py
.
Data obtained is in data/app-data
.
Can use monkeyrunner to simulate user events, or manually. Log traffic data using mitmproxy.i
Requires Android Developer Studio tools (for monkeyrunner)
Requires rooted phone with adb root shell access, network log tool with superuser permissions.
Requires working xray tool. Follow instructions there to get mitmproxy running (nb: requires mitmproxy to be installed within python virtualenv).
Using the Open Web Privacy Measurement framework.
Data obtained is in data/web-tracking
.
Data cited in the paper is all available in data
.