-
Notifications
You must be signed in to change notification settings - Fork 915
Android
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 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.
Struggling with this manual? Do you miss some explanation or found something wrong or ambigious? Then please post in the Manual Feedback section of the forum. Any feedback is appreciated.