1nfc-emulate-uid(1) libnfc's examples nfc-emulate-uid(1)
2
3
4
6 nfc-emulate-uid - NFC target emulation command line tool based on lib‐
7 nfc
8
10 nfc-emulate-uid [OPTIONS] [UID]
11
13 nfc-emulate-uid is a tag emulation tool that allows one to choose any
14 tag UID. Tag emulation is one of the main added features in NFC. But to
15 avoid abuse of existing systems, manufacturers of the NFC controller
16 intentionally did not support emulation of fully customized UID but
17 only of "random" UIDs, which always start with 0x08. The nfc-emulate-
18 uid tool demonstrates that this can still be done using transmission of
19 raw frames, and the desired UID can be optionally specified.
20
21 This makes it a serious threat for security systems that rely only on
22 the uniqueness of the UID.
23
24 Unfortunately, this example can't directly start in fully customisable
25 target mode. Just after launching this example, you will have to go
26 through the hardcoded initial anti-collision with the 0x08-prefixed
27 UID. To achieve it, you can e.g. send a RATS (Request for Answer To
28 Select) command by using a second NFC device (placed in target's field)
29 and launching nfc-list or nfc-anticol. After this first step, you now
30 have a NFC device (configured as target) that really emulates a custom
31 UID. You could view it using the second NFC device with nfc-list.
32
33 Timing control is very important for a successful anti-collision se‐
34 quence:
35
36 - The emulator must be very fast to react: Using the ACR122 device
37 gives many timing issues, "PN53x only" USB devices also give some tim‐
38 ing issues but an embedded microprocessor would probably improve
39 greatly the situation.
40
41 - The reader should not be too strict on timing (the standard is very
42 strict). The OmniKey CardMan 5321 is known to be very large on timings
43 and is a good choice if you want to experiment with this emulator with
44 a tolerant reader. Nokia NFC 6212 and Pegoda readers are much too
45 strict and won't be fooled.
46
47
49 UID 8 hex digits format that represents desired UID (default is DEAD‐
50 BEEF).
51
52
54 ACR122 devices (like touchatag, etc.) can be used by this example (with
55 timing issues), but if something goes wrong, you will have to un‐
56 plug/replug your device. This is not a libnfc's bug, this problem is
57 due to ACR122's internal MCU in front of NFC chip (PN532).
58
60 Please report any bugs on the libnfc issue tracker at:
61 https://github.com/nfc-tools/libnfc/issues
62
64 libnfc is licensed under the GNU Lesser General Public License (LGPL),
65 version 3.
66 libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause
67 license.
68
70 Roel Verdult <roel@libnfc.org>
71
72 This manual page was written by Romuald Conty <romuald@libnfc.org>. It
73 is licensed under the terms of the GNU GPL (version 2 or later).
74
75
76
77libnfc June 26, 2009 nfc-emulate-uid(1)