SkillAgentSearch skills...

Libfreefare

A convenience API for NFC cards manipulations on top of libnfc.

Install / Use

/learn @nfc-tools/Libfreefare
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Introduction

Build Status Join the chat at https://gitter.im/nfc-tools/libfreefare

The libfreefare project provides a convenient API for MIFARE card manipulations.

It is part of the nfc-tools, you can find more info on them on the nfc-tools wiki.

If you are new to libfreefare or the nfc-tools, you should collect useful information on the project website and the dedicated forums.

Feature matrix

Tags

| Tag | Status | |:--------------------|:--------------| | FeliCa Lite | Supported | | MIFARE Classic 1k | Supported | | MIFARE Classic 4k | Supported | | MIFARE DESFire 2k | Supported | | MIFARE DESFire 4k | Supported | | MIFARE DESFire 8k | Supported | | MIFARE DESFire EV1 | Supported | | MIFARE Mini | Supported | | MIFARE Plus S 2k | Not supported | | MIFARE Plus S 4k | Not supported | | MIFARE Plus X 2k | Not supported | | MIFARE Plus X 4k | Not supported | | MIFARE Ultralight | Supported | | MIFARE Ultralight C | Supported | | NTAG21x | Supported |

Specifications

| Specification | Status | |:--------------------------------------|:----------| | Mifare Application Directory (MAD) v1 | Supported | | Mifare Application Directory (MAD) v2 | Supported | | Mifare Application Directory (MAD) v3 | Supported (part of Mifare DESFire support) |

Installation

For *NIX systems

You can use released version (see Download section) or development version:

First, ensure all dependencies are installed:

  • libnfc;
  • git;
  • Autotools (autoconf, automake, libtool);
  • OpenSSL development package.
apt-get install autoconf automake git libtool libssl-dev pkg-config

Clone this repository:

git clone https://github.com/nfc-tools/libfreefare.git
cd libfreefare

Before compiling, remember to run:

autoreconf -vis

You can now compile libfreefare the usual autotools way:

./configure --prefix=/usr
make
sudo make install

For Windows Systems

Requirements

  • cmake
  • make
  • mingw{32,64}-gcc

Building

mingw64-cmake -DLIBNFC_INCLUDE_DIRS=/path/to/libnfc-source/include  -DLIBNFC_LIBRARIES=/path/to/libnfc.dll
mingw64-make

Debug

In order to debug using gdb, you should tune the CFLAGS:

CFLAGS="-O0 -ggdb" ./configure --prefix=/usr
make clean all

It is then possible to debug examples using this kind of command from the root of the repository:

./libtool --mode=execute gdb examples/mifare-classic-write-ndef

If you are only interested in viewing transfert traces between the PCD and the PICC, simply use the --enable-debug configure flag:

./configure --enable-debug
make clean all
View on GitHub
GitHub Stars460
CategoryDevelopment
Updated16d ago
Forks114

Languages

C

Security Score

85/100

Audited on Mar 19, 2026

No findings