doc/standalone/hf_unisniff.md
Author: Equip Frequency: HF (13.56 MHz) Hardware: RDV4 recommended (flash for config persistence)
Back to Standalone Modes Index | Source Code | Development Guide
A universal HF sniffer that supports multiple protocols — ISO 14443A, ISO 14443B, ISO 15693, and iCLASS — selectable at runtime via button press before sniffing begins.
Rather than flashing different standalone firmware for each protocol you want to sniff, this mode combines all four HF sniffing protocols into a single firmware. You select the protocol at startup using the button, then sniff. This is especially useful when you don't know which protocol a target system uses.
hf_unisniff.trace. Otherwise data is held in BigBuf (volatile — lost on power cycle).| LED Pattern | Protocol |
|---|---|
| A only | ISO 14443A |
| B only | ISO 14443B |
| C only | ISO 15693 |
| D only | iCLASS |
| LED | Meaning |
|---|---|
| Selected LED (blink) | Sniffing in progress |
| A+B+C+D (solid) | Error |
| Action | Effect |
|---|---|
| Single click | Cycle to next protocol (A→B→C→D→A) |
| Long hold | Start sniffing selected protocol |
| Press during sniff | Stop sniffing |
If flash is available, the mode reads hf_unisniff.conf to remember the last-used protocol. Format is a single byte:
| Value | Protocol |
|---|---|
0x01 | ISO 14443A |
0x02 | ISO 14443B |
0x03 | ISO 15693 |
0x04 | iCLASS |
stateDiagram-v2
[*] --> SelectProtocol : Startup
state SelectProtocol {
[*] --> ISO14443A
ISO14443A --> ISO14443B : Button click
ISO14443B --> ISO15693 : Button click
ISO15693 --> iCLASS : Button click
iCLASS --> ISO14443A : Button click
}
SelectProtocol --> Sniffing : Long hold
state Sniffing {
[*] --> Capture
Capture --> Capture : Logging packets
}
Sniffing --> SaveTrace : Button press / buffer full
SaveTrace --> SelectProtocol : Trace saved to flash
SaveTrace --> [*] : No flash (data in BigBuf)
SelectProtocol --> [*] : USB connection
| File | Contents |
|---|---|
hf_unisniff.conf | Last-selected protocol (1 byte) |
hf_unisniff.trace | Captured trace data |
make clean
make STANDALONE=HF_UNISNIFF -j
./pm3-flash-fullimage