Skip to content
Code and data for the tracker market concentration project
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data
method-comparison
static-app-analysis
.DS_Store
README.md
app_tracker_counter.py
find_pairs.py
screen-015d21d915641208.png

README.md

PROWISH

This repo contains the code and data for our paper `PROWISH: Measuring tracker market concentration'.

Android app analysis

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.

dependencies

JDK version 1.8.0_25

Downloading APKs via the app store

Requires root access to the android device.

  1. Install android-developer-tools.
  2. Get the device id adb devices
  3. Modify static-app-analysis/install.py with the device id.
  4. Start ADB demon as root adb root
  5. Run python install.py.

APK files will be written to a directory outside the repo called apks

Static analysis

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.

Dynamic analysis

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).

Web analysis

Using the Open Web Privacy Measurement framework.

Data obtained is in data/web-tracking.

Data

Data cited in the paper is all available in data.

You can’t perform that action at this time.