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. the RATS request expects a quick ATS answer, 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-utils and libnfc-examples are 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 πŸ’–βœ¨πŸŒΈ