Skip to content

Android

Michael Farrell edited this page Mar 14, 2019 · 10 revisions

There are multiple ports of Proxmark on Android:

Name PM3 version UI Interface Device Interface Needs root Play Store Info
Proxdroid Mainline 2.0 Linux CLI Linux cdc_acm Yes No Cross-compiled Linux client adapted to work in Android NDK build system.
angelsl iceman 1.7.0 (2017) Android Linux cdc_acm Yes ???
AndProx Mainline 3.1.0 Android Android USB Host or TCP No Yes Incompatible with usb_acm kernel module.
Walrus Compatible with Mainline 3.0.1, but using a re-implementation of PM3 protocol in Java Android Android USB Host No Yes Does not support all PM3 features.

There are multiple methods that an Android device can communicate with the Proxmark3's CDC ACM interface:

  • Linux cdc_acm: Uses Linux's CDC ACM kernel module. This is not included in most OEM Android distributions. This generally requires rooting your device and building the extra kernel module.

    It may be possible to alter the device permissions so that the app itself doesn't require root, but this will require altering protected areas of the Android filesystem. Newer versions of Android impose additional restrictions (eg: SELinux).

  • Android USB: Uses Android's USB Host APIs. Does not require rooting your device or loading custom kernels, provided the device complies with the Android CDD.

  • TCP: Opens a TCP socket for controlling a PM3. There is no PM3 with networking support -- this is likely only useful for using PM3 in the Android Emulator on a PC. Mechanism doesn't really matter.

In any case, you would need a USB-C to A or USB-OTG cable to connect Proxmark3 to your Android device. Some Android devices may not supply enough power (USB-OTG = 100mA), and need a USB Y-cable and external battery, otherwise they will get strange failures.

Note: While ChromeOS can run some Android applications, the current runtime does not support USB Host. As a result, it is not possible to use the Android ports here to use Proxmark3 on ChromeOS.

Proxdroid

Proxdroid is the first port of Proxmark3 to Android, by marcv81. It is supported since r653. Since r774 it was updated to support the new CDC/Serial interface.

  • Proxdroid is an Android executable with the same functionalities of the Win/Linux versions;

  • Proxdroid doesn't use Android APIs so it should work on every Android version;

  • This requires the cdc_acm Linux kernel module to be built for your device, and read/write address to /dev/ttyACM0. Root is likely required.

Links