nfc-emulate-tag(1)
β¨ nfc-emulate-tag(1) β¨
okay bestie, pull up a chair because we're talking about nfc-emulate-tag, one of the lil demo tools that ships with libnfc's examples π it's a command-line tag emulation demonstration thingy and yes, it's as cute as it sounds.
πΈ NAME πΈ
nfc-emulate-tag β a simple tag emulation command line demonstration tool π
π¦ SYNOPSIS π¦
nfc-emulate-tag
that's it. no args. no flags. she just is. π
β¨ DESCRIPTION β¨
nfc-emulate-tag is a simple tag emulation tool that shows you how emulation can be done using libnfc. it's literally a demonstration, so don't expect her to be a whole entire product, okay?
right now, this tool partially emulates a Mifare Mini: it gets detected as a Mifare Mini, but the internal MIFARE proprietary commands are not yet implemented. so she's giving Mifare Mini cosplay, not full Mifare Mini behaviour π
now, to be able to emulate a target at all, 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, plus a simple function to deal with computation. slay, honestly.
and if you wanna improve the target's capabilities? you can now implement more allowed commands in a single function:
target_io()
β οΈ big warning time bestie: due to timing issues, it is very difficult to implement an ISO14443-4 tag this way. theRATSrequest expects a quickATSanswer, and the vibes are not forgiving. 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. pick your reader wisely, iykyk π§
π IMPORTANT π
ACR122 devices (like touchatag, etc.) can be used by this example (with probably timing issue), but if something goes wrong, you will have to unplug/replug your device. π
and listen β this is not a libnfc's bug. this problem is due to ACR122's internal MCU in front of the NFC chip (PN532). so don't come for libnfc, she's innocent fr fr π«Ά
π BUGS π
please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues
the maintainers wanna hear about it, no cap π
π LICENCE π
- libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utilsandlibnfc-examplesare covered by the the BSD 2-Clause license.
(yes, "the the" β we keep the facts exactly as they are, periodt π )
π AUTHORS π
Romuald Conty <romuald@libnfc.org>
this manual page was written by Romuald Conty <romuald@libnfc.org>. it is licensed under the terms of the GNU GPL (version 2 or later).
and that's the whole page, bestie!! this one's from libnfc, dated October 8, 2010 π go forth and emulate responsibly, mwah πβ¨πΈ
π¦ where this page comes from
- alpine 3.24: libnfc-doc 1.8.0-r2 Β· LGPL-3.0-or-later
- arch rolling: libnfc 1.8.0-4 Β· LGPL-3.0-or-later
- debian bookworm: libnfc-examples 1.8.0-2 Β· LGPL-3.0-only
- debian trixie: libnfc-examples 1.8.0-3.1+b1 Β· LGPL-3.0-only
- fedora 43: libnfc-examples 1.8.0-12.fc43 Β· LGPL-3.0-or-later
- fedora 44: libnfc-examples 1.8.0-13.fc44 Β· LGPL-3.0-or-later
- nixos 26.05: libnfc 1.8.0
- nixpkgs unstable: libnfc 1.8.0
- ubuntu jammy: libnfc-examples 1.8.0-2 Β· LGPL-3.0-only
- ubuntu noble: libnfc-examples 1.8.0-3.1build1 Β· LGPL-3.0-only
- ubuntu questing: libnfc-examples 1.8.0-3.1build1
- ubuntu resolute: libnfc-examples 1.8.0-3.1build2 Β· LGPL-3.0-only
- ubuntu stonking: libnfc-examples 1.8.0-3.1build2 Β· LGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms