O projeto libfreefare fornece uma API conveniente para manipulações de cartões MIFARE.
Faz parte do nfc-tools , você pode encontrar mais informações sobre eles no wiki do nfc-tools.
Se você é novo no libfreefare ou no nfc-tools , você deve coletar informações úteis no site do projeto e nos fóruns dedicados.
Marcação | Status |
---|---|
FeliCa Lite | Suportado |
MIFARE Clássico 1k | Suportado |
MIFARE Clássico 4k | Suportado |
MIFARE DESFire 2k | Suportado |
MIFARE DESFire 4k | Suportado |
MIFARE DESFire 8k | Suportado |
MIFARE DESFire EV1 | Suportado |
Mifare mini | Suportado |
MIFARE Plus S 2k | Não compatível |
MIFARE Plus S 4k | Não compatível |
MIFARE Plus X 2k | Não compatível |
MIFARE Plus X 4k | Não compatível |
MIFARE Ultraleve | Suportado |
MIFARE Ultraleve C | Suportado |
NTAG21x | Suportado |
Especificação | Status |
---|---|
Diretório de aplicativos Mifare (MAD) v1 | Suportado |
Diretório de aplicativos Mifare (MAD) v2 | Suportado |
Diretório de aplicativos Mifare (MAD) v3 | Suportado (parte do suporte Mifare DESFire) |
Você pode usar a versão lançada (consulte a seção Download ) ou a versão de desenvolvimento:
Primeiro, certifique-se de que todas as dependências estejam instaladas:
apt-get install autoconf automake git libtool libssl-dev pkg-config
Clone este repositório:
git clone https://github.com/nfc-tools/libfreefare.git
cd libfreefare
Antes de compilar, lembre-se de executar:
autoreconf -vis
Agora você pode compilar o libfreefare da maneira usual do autotools:
./configure --prefix=/usr
make
sudo make install
mingw64-cmake -DLIBNFC_INCLUDE_DIRS=/path/to/libnfc-source/include -DLIBNFC_LIBRARIES=/path/to/libnfc.dll
mingw64-make
Para depurar usando gdb, você deve ajustar os CFLAGS:
CFLAGS="-O0 -ggdb" ./configure --prefix=/usr
make clean all
É então possível depurar exemplos usando este tipo de comando da raiz do repositório:
./libtool --mode=execute gdb examples/mifare-classic-write-ndef
Se você estiver interessado apenas em visualizar rastreamentos de transferência entre o PCD e o PICC, simplesmente use o sinalizador de configuração --enable-debug
:
./configure --enable-debug
make clean all