How rfidresearchgroup/proxmark3 works
Proxmark is an RFID analysis and programming platform: users issue client commands or run automation, the client communicates with device firmware, and the firmware interacts with RFID tags and peripherals. The README also documents standalone modes and broad command/script functionality, reflected here as separate capabilities. Source excerpts are partial, so the graph shows only high-level documented workflow links and avoids inferring detailed module-to-module calls.
Main entry points: comms.c Device communications · appmain.c Firmware application · cmdparser.c Command dispatch · cmd.c Firmware commands
Components 18
Client and automation
- Command interface
client/src/cmdmain.c - Command dispatch
client/src/cmdparser.c - HF commands
client/src/cmdhf.c - LF commands
client/src/cmdlf.c - Python scripts
client/pyscripts/pm3.py - ePassport viewer
tools/ePassport/epassport/app.py - Passport PM3 client
tools/ePassport/epassport/pm3/client.py - Device communications
client/src/comms.c
Device firmware
- Firmware application
armsrc/appmain.c - Firmware commands
armsrc/cmd.c
RFID capabilities
- HF protocols
armsrc/iso14443a.c - LF sampling
armsrc/lfsampling.c - Standalone modes
armsrc/Standalone/standalone.h
Hardware platform
- Flash filesystem
armsrc/spiffs.c - Boot ROM
bootrom/bootrom.c - Hardware drivers
armlib/at32_sys/drivers/src/at32f435_437_gpio.c
Other components
- Operator
- RFID tag
Connections 21
- Operator → Command interface: issues commands
- Command interface → Command dispatch: dispatches
- Command dispatch → HF commands: dispatches
- Command dispatch → LF commands: dispatches
- HF commands → Device communications: sends commands
- LF commands → Device communications: sends commands
- Python scripts → Device communications: automates commands
- Operator → ePassport viewer: uses viewer
- ePassport viewer → Passport PM3 client: starts reads
- Passport PM3 client → Device communications: runs PM3
- Device communications → Firmware application: transfers commands
- Firmware application → Firmware commands: dispatches
- Firmware commands → HF protocols: runs HF operations
- Firmware commands → LF sampling: runs LF operations
- HF protocols → RFID tag: communicates
- LF sampling → RFID tag: samples
- Operator → Standalone modes: starts mode
- Standalone modes → HF protocols: uses HF protocols
- Standalone modes → LF sampling: uses LF sampling
- Firmware application → Flash filesystem: uses storage
- Firmware application → Hardware drivers: controls hardware