wpadebug - wpa_supplicant and Wi-Fi debugging app for Android
Copyright (c) 2013, Jouni Malinen <j@w1.fi> and contributors
All Rights Reserved.

This program is licensed under the BSD license (the one with
advertisement clause removed). See the top level README for detailed
license text.

If you are submitting changes to the project, please see CONTRIBUTIONS
file for more instructions.


NOTE! This Android app is for debugging and testing purposes only. It is
not supposed to be installed on a production use device and doing so may
result in complete loss of security protections on the device.



Build
-----

- Install Android SDK and build tools
- update project target if desired; for example:
  android list targets
  android update project --target 1 --path $PWD
- run: ant debug


Installation (with adb over USB)
------------

adb install bin/wpadebug-debug.apk

NOTE: Following steps enable any app on the system to get root access!
This is not suitable for any production use. This is needed for direct
wpa_supplicant access and some networking operating in general. You can
still use rest of the wpadebug app without doing this, but those
functions will not work unless this step part of installation is
done. It should be obvious that these steps require a rooted device. In
addition, if you do not understand what the following commands do,
please do not run them.

adb root
adb remount
adb shell cp /system/bin/mksh /system/bin/mksh-su
adb shell chmod 6755 /system/bin/mksh-su

Optionally, a text file with a set of command can be installed to allow
arbitrary shell commands to be executed. This text file need to be in
/data/local/wpadebug.cmds and use title@command format per line. For
example:
version@cat /proc/version

Similarly, /data/local/wpadebug.wpacmds can be used to define additional
wpa_supplicant control interface commands.


Uninstallation
--------------

adb root
adb remount
adb shell rm /system/bin/mksh-su

adb uninstall w1.fi.wpadebug
