nfc-emulate-tag is a simple tag emulation tool that demonstrates how emulation can be done using libnfc.
Currently, this tool partially emulates a Mifare Mini: it is detected as Mifare Mini but internal MIFARE
proprietary commands are not yet implemented.
To be able to emulate a target, there are two main parts:
- communication: handle modulation, anticollision, etc.
- computation: process commands (input) and produce results (output).
This demonstration tool proposes a logical structure to handle communication and a simple function to
deal with computation.
To improve the target capabilities, we can now implement more allowed commands in a single function:
target_io()
Please note that, due to timing issues, it is very difficult to implement an ISO14443-4 tag this way:
RATS request expects a quick ATS answer. By the way, even if you implement another kind of tag, timing
issues are often the source of problems like CRC or parity errors. The OmniKey CardMan 5321 is known to
be very large on timings and is a good choice if you want to experiment with this emulator with a
tolerant reader.