nfc-mfclassic - MIFARE Classic command line tool
is a MIFARE Classic tool that allow to read or write
file using MIFARE keys provided in KEYS
MIFARE Classic tag is one of the most widely used RFID tags.
The firmware in the NFC controller supports authenticating, reading and writing
to/from MIFARE Classic tags. This tool demonstrates the speed of this library
and its ease-of-use. It's possible to read and write the complete content of a
MIFARE Classic 4KB tag within 1 second. It uses a binary MIFARE Dump file
(MFD) to store the keys and data for all sectors.
Be cautious that some parts of a MIFARE Classic memory are used for r/w access
of the rest of the memory, so please read the tag documentation before
experimenting too much!
option to format the card will reset all keys to FFFFFFFFFFFF, all
data to 00 and all ACLs to default.
option allows writing of special MIFARE cards that can be
'unlocked' to allow block 0 to be overwritten. This includes UID and
manufacturer data. Take care when amending UIDs to set the correct BCC (UID
checksum). Currently only 4 byte UIDs are supported.
Similarly, the R
option allows an 'unlocked' read. This bypasses
authentication and allows reading of the Key A and Key B data regardless of
R/W errors on some blocks can be either considered as critical or ignored. To
halt on first error, specify keys with lowercase ( a
ignore such errors, use uppercase ( A
*** Note that W
options only work on special versions of
MIFARE 1K cards (Chinese clones).
- f | r | R | w | W
- Perform format ( f ) or read from ( r ) or unlocked read
from ( R ) or write to ( w ) or unlocked write to ( W
- a | A | b | B
- Use A or B MIFARE keys. Halt on errors ( a | b ) or tolerate
errors ( A | B ).
- MiFare Dump (MFD) used to write (card to MFD) or (MFD to card)
- MiFare Dump (MFD) that contains the keys (optional). Data part of the dump
- Force using the keyfile KEYS even if UID does not match (optional).
Please report any bugs on the libnfc
issue tracker at:
is licensed under the GNU Lesser General Public License (LGPL),
are covered by the the BSD
Adam Laurie <firstname.lastname@example.org>,
Roel Verdult <email@example.com>,
Romain Tartière <firstname.lastname@example.org>,
Romuald Conty <email@example.com>.
This manual page was written by Romuald Conty <firstname.lastname@example.org>. It is
licensed under the terms of the GNU GPL (version 2 or later).