GithubHelp home page GithubHelp logo

randomac's Introduction

RandoMAC

Android app to change WIFI MAC to random values - requires root.

Rationale

Android phones with WIFI turned on will constantly poll for networks. This polling operation exposes the WIFI adapter hardware MAC address, so businesses can track phones and their users throughout the day. Companies are now buying this data from stores etc. to build up location profiles of phone users.

This app is an attempt to confuse this tracking slightly by changing the WIFI MAC address to random, but assigned, values. Initially this randomisation will happen with a button press of the app, but the intent is to have the app as a service, changing the MAC automatically throughtout the day.

Download APK

APK built from current source is at https://github.com/d5ve/RandoMAC/raw/master/apk/RandoMAC-debug.apk

This requires a rooted phone.

Status

Very much WIP.

Currently, the app starts, and attempts to change the MAC address. This doesn't always work, as you can't change the MAC for a running interface, and restarting the interface resets the MAC back to the hardware value. There is a small time during the restart process where the value can be changed.

Some WIFI networks don't like it if the MAC changes during a session, as it looks like the MAX is part of the shared key.

Caveats

This is the first android app I've developed and the first time I've even looked at Java since university.

My testing is performed on a rooted Nexus 4 running Cyanogenmod 10.1. Different phones and OS will behave differently.

Dev environment setup

I followed the instructions from the following pages, specifically the ones for a non-Eclipse setup on OSX.

https://developer.android.com/training/basics/firstapp/creating-project.html

https://developer.android.com/sdk/index.html

https://developer.android.com/sdk/installing/index.html

https://developer.android.com/sdk/installing/adding-packages.html

$ android create project --target android-17 --name "RandoMAC" --path ~/src/"RandoMAC" --activity RandoMAC --package com.d5ve.randomac
$ cd ~/src/RandoMAC
$ git init

I also had to copy android-support-v4.jar from where it was installed into the app's libs dir.

$ cd ~/src/RandoMAC/libs
$ cp ~/dev_tools/android-sdk-macosx/extras/android/support/v4/android-support-v4.jar .

This app uses roottools from https://code.google.com/p/roottools/ to simplify running system commands as root.

$ cd ~/src/RandoMAC/libs
$ curl -O https://roottools.googlecode.com/files/RootTools2.6.jar

Building and installing

$ cd ~/src/RandoMAC/
# Start emulator
$ android avd & 

# Build the project.
$ ant debug

# Install on emulator (or plugged in phone)
$ adb install -r bin/RandoMAC-debug.apk

License

RandoMAC is free software. It comes without any warranty, to the extent permitted by applicable law.

RandoMAC is released under the WTFPL Version 2.0 license

http://sam.zoy.org/wtfpl/COPYING
  1. You just DO WHAT THE FUCK YOU WANT TO.

randomac's People

Contributors

d5ve avatar

Watchers

James Cloos avatar Akhil C avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.