OnWorks favicon

nfc-emulate-uid - Online in the Cloud

Run nfc-emulate-uid in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command nfc-emulate-uid that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



nfc-emulate-uid - NFC target emulation command line tool based on libnfc


nfc-emulate-uid [OPTIONS] [UID]


nfc-emulate-uid is a tag emulation tool that allows one to choose any tag UID. Tag
emulation is one of the main added features in NFC. But to avoid abuse of existing
systems, manufacturers of the NFC controller intentionally did not support emulation of
fully customized UID but only of "random" UIDs, which always start with 0x08. The nfc-
emulate-uid tool demonstrates that this can still be done using transmission of raw
frames, and the desired UID can be optionally specified.

This makes it a serious thread for security systems that rely only on the uniqueness of
the UID.

Unfortunately, this example can't directly start in fully customisable target mode. Just
after launching this example, you will have to go through the hardcoded initial anti-
collision with the 0x08-prefixed UID. To achieve it, you can e.g. send a RATS (Request
for Answer To Select) command by using a second NFC device (placed in target's field) and
launching nfc-list or nfc-anticol. After this first step, you now have a NFC device
(configured as target) that really emulates a custom UID. You could view it using the
second NFC device with nfc-list.

Timing control is very important for a successful anti-collision sequence:

- The emulator must be very fast to react: Using the ACR122 device gives many timing
issues, "PN53x only" USB devices also give some timing issues but an embedded
microprocessor would probably improve greatly the situation.

- The reader should not be too strict on timing (the standard is very strict). 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. Nokia NFC 6212 and Pegoda readers
are much too strict and won't be fooled.


UID 8 hex digits format that represents desired UID (default is DEADBEEF).


ACR122 devices (like touchatag, etc.) can be used by this example (with timing issues),
but if something goes wrong, you will have to unplug/replug your device. This is not a
libnfc's bug, this problem is due to ACR122's internal MCU in front of NFC chip (PN532).

Use nfc-emulate-uid online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    libjpeg-turbo is a JPEG image codec
    that uses SIMD instructions (MMX, SSE2,
    NEON, AltiVec) to accelerate baseline
    JPEG compression and decompression on
    x86, x8...
    Download libjpeg-turbo
  • 2
    Xtreme Download Manager
    Xtreme Download Manager
    The project has a new home now:
    https://xtremedownloadmanager.com/ For
    https://github.com/subhra74/xdm Xtreme
    Download Manager is a powerful tool t...
    Download Xtreme Download Manager
  • 3
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Features:4:3 and 16:9 low resolution
    VGA outputPS/2 keyboard and mouse
    inputText-based user interface (TUI)
    with dialog managerPartial Unicode
    supportSlave dis...
    Download TTGO VGA32 Lite
  • 4
    Clover EFI bootloader
    Clover EFI bootloader
    Project has moved to
    Features:Boot macOS, Windows, and Linux
    in UEFI or legacy mode on Mac or PC with
    Download Clover EFI bootloader
  • 5
    Join us in Gitter!
    Enable the URPMS repository in your
    system -
    Download unitedrpms
  • 6
    Boost C++ Libraries
    Boost C++ Libraries
    Boost provides free portable
    peer-reviewed C++ libraries. The
    emphasis is on portable libraries which
    work well with the C++ Standard Library.
    See http://www.bo...
    Download Boost C++ Libraries
  • 7
    VirtualGL redirects 3D commands from a
    Unix/Linux OpenGL application onto a
    server-side GPU and converts the
    rendered 3D images into a video stream
    with which ...
    Download VirtualGL
  • More »

Linux commands