
一个基于 libnfc 的 NFC 卡片操作便捷 API。
libfreefare 项目为 MIFARE 卡片操作提供了便捷的 API。
它是 nfc-tools 的一部分,你可以在 nfc-tools wiki 上找到更多相关信息。
如果你是 libfreefare 或 nfc-tools 的新手,你应该在 项目网站 和 专用论坛 上收集有用的信息。
| Tag | 状态 |
|---|---|
| FeliCa Lite | 支持 |
| MIFARE Classic 1k | 支持 |
| MIFARE Classic 4k | 支持 |
| MIFARE DESFire 2k | 支持 |
| MIFARE DESFire 4k | 支持 |
| MIFARE DESFire 8k | 支持 |
| MIFARE DESFire EV1 | 支持 |
| MIFARE Mini | 支持 |
| MIFARE Plus S 2k | 不支持 |
| MIFARE Plus S 4k | 不支持 |
| MIFARE Plus X 2k | 不支持 |
| MIFARE Plus X 4k | 不支持 |
| MIFARE Ultralight | 支持 |
| MIFARE Ultralight C | 支持 |
| NTAG21x | 支持 |
| Specification | 状态 |
|---|---|
| Mifare Application Directory (MAD) v1 | 支持 |
| Mifare Application Directory (MAD) v2 | 支持 |
| Mifare Application Directory (MAD) v3 | 支持(Mifare DESFire 支持的一部分) |
你可以使用发布版本(参见 下载 部分)或开发版本:
首先,确保所有依赖已安装:
apt-get install autoconf automake git libtool libssl-dev pkg-config
克隆此仓库:
git clone https://github.com/nfc-tools/libfreefare.git
cd libfreefare
编译前,记得运行:
autoreconf -vis
现在你可以按常规 autotools 方式编译 libfreefare:
./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
为了使用 gdb 调试,你应该调整 CFLAGS:
CFLAGS="-O0 -ggdb" ./configure --prefix=/usr
make clean all
然后可以从仓库根目录使用如下命令调试示例:
./libtool --mode=execute gdb examples/mifare-classic-write-ndef
如果你只对查看 PCD 与 PICC 之间的传输轨迹感兴趣,只需使用 --enable-debug 配置选项:
./configure --enable-debug
make clean all