Flipper Zero Unleashed固件NFC格式:近场通信文件规范

Flipper Zero Unleashed固件NFC格式:近场通信文件规范

【免费下载链接】unleashed-firmware Flipper Zero Unleashed Firmware 【免费下载链接】unleashed-firmware 项目地址: https://gitcode.com/GitHub_Trending/un/unleashed-firmware

概述

Flipper Zero Unleashed固件提供了完整的NFC(Near Field Communication,近场通信)功能支持,能够读取、写入和模拟多种NFC标签类型。本文档详细介绍了Flipper Zero中使用的NFC文件格式规范,帮助开发者理解和使用这些格式进行NFC应用开发。

通用文件格式结构

所有NFC文件都遵循相同的基本结构:

Filetype: Flipper NFC device
Version: 4
Device type: [设备类型]
UID: [UID十六进制数据]
-------------------------
[设备特定数据]

版本历史

  • 版本1: 初始版本,已弃用
  • 版本2: LSB ATQA格式(如4400而非0044)
  • 版本3: MSB ATQA格式(当前版本)
  • 版本4: 使用ISO14443-3A替换UID设备类型

ISO14443-3A格式

示例

Filetype: Flipper NFC device
Version: 4
Device type: ISO14443-3A
UID: 34 19 6D 41 14 56 E6
ATQA: 00 44
SAK: 00

技术规范

字段长度描述
UID4或7字节唯一标识符
ATQA2字节请求应答
SAK1字节选择应答

ISO14443-3B格式

示例

Filetype: Flipper NFC device
Version: 4
Device type: ISO14443-3B
UID: 30 1D B3 28
Application data: 00 12 34 FF
Protocol info: 11 81 E1

技术规范

字段长度描述
UID4字节唯一标识符
Application data4字节应用数据
Protocol info3字节协议信息

ISO14443-4A格式

示例

Filetype: Flipper NFC device
Version: 4
Device type: ISO14443-4A
UID: 04 48 6A 32 33 58 80
ATQA: 03 44
SAK: 20
ATS: 06 75 77 81 02 80

技术规范

字段长度描述
UID4或7字节唯一标识符
ATQA2字节请求应答
SAK1字节选择应答
ATS≥5字节选择应答数据

NTAG/Ultralight格式

示例

Filetype: Flipper NFC device
Version: 4
Device type: NTAG/Ultralight
UID: 04 85 90 54 12 98 23
ATQA: 00 44
SAK: 00
Data format version: 2
NTAG/Ultralight type: NTAG216
Signature: 1B 84 EB 70 BD 4C BD 1B 1D E4 98 0B 18 58 BD 7C 72 85 B4 E4 7B 38 8E 96 CF 88 6B EE A3 43 AD 90
Mifare version: 00 04 04 02 01 00 13 03
Counter 0: 0
Tearing 0: 00
Counter 1: 0
Tearing 1: 00
Counter 2: 0
Tearing 2: 00
Pages total: 231
Pages read: 231
Page 0: 04 85 92 9B
Page 1: 8A A0 61 81
...
Failed authentication attempts: 0

支持的设备类型

mermaid

Mifare Classic格式

示例

Filetype: Flipper NFC device
Version: 4
Device type: Mifare Classic
UID: BA E2 7C 9D
ATQA: 00 02
SAK: 18
Mifare Classic type: 4K
Data format version: 2
Block 0: BA E2 7C 9D B9 18 02 00 46 44 53 37 30 56 30 01
Block 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 3: FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF
...
Block 255: FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF

版本差异

mermaid

Mifare DESFire格式

示例

Filetype: Flipper NFC device
Version: 4
Device type: Mifare DESFire
UID: 04 2F 19 0A CD 66 80
ATQA: 03 44
SAK: 20
ATS: 06 75 77 81 02 80
PICC Version: 04 01 01 12 00 1A 05 04 01 01 02 01 1A 05 04 2F 19 0A CD 66 80 CE ED D4 51 80 31 19
PICC Free Memory: 7520
PICC Change Key ID: 00
PICC Config Changeable: true
PICC Free Create Delete: true
PICC Free Directory List: true
PICC Key Changeable: true
PICC Max Keys: 01
PICC Key 0 Version: 00
Application Count: 1
Application IDs: 56 34 12
...

Mifare Classic字典格式

示例

# Key dictionary from https://github.com/ikarus23/MifareClassicTool.git

# Standard keys
FFFFFFFFFFFF
A0A1A2A3A4A5
D3F7D3F7D3F7
000000000000

# Keys from mfoc
B0B1B2B3B4B5
4D3A99C351DD
1A982C7E459A
...

EMV资源格式

示例

Filetype: Flipper EMV resources
Version: 1
# EMV currency code: currency name
0997: USN
0994: XSU
0990: CLF
0986: BRL
0985: PLN
0984: BOV
...

文件操作流程

mermaid

开发实践指南

1. 文件路径管理

Flipper Zero使用固定的文件路径结构:

  • 主目录: /ext/nfc/
  • 字典文件: /ext/nfc/assets/mf_classic_dict.nfc
  • 用户字典: /ext/nfc/assets/mf_classic_dict_user.nfc

2. 数据验证

在开发NFC应用时,务必进行数据验证:

// 示例:验证UID长度
bool validate_uid_length(const uint8_t* uid, size_t length) {
    return (length == 4 || length == 7);
}

// 示例:验证ATQA格式
bool validate_atqa(const uint8_t* atqa) {
    return (atqa != NULL);
}

3. 错误处理

完善的错误处理机制:

typedef enum {
    NfcErrorNone = 0,
    NfcErrorInvalidFormat,
    NfcErrorChecksum,
    NfcErrorProtocol,
    NfcErrorTimeout
} NfcError;

NfcError nfc_device_load(NfcDevice* device, const char* path) {
    // 实现文件加载逻辑
    if (!file_exists(path)) return NfcErrorInvalidFormat;
    // ... 其他验证
    return NfcErrorNone;
}

性能优化建议

内存管理

mermaid

文件大小优化

设备类型典型文件大小优化建议
ISO14443-3A100-200字节无需优化
Mifare Classic 1K4-8KB使用数据压缩
Mifare Classic 4K16-32KB分块存储
NTAG2161-2KB页面级压缩

安全注意事项

  1. 数据完整性: 所有NFC文件都应包含校验和验证
  2. 访问控制: 敏感数据应加密存储
  3. 版本兼容性: 确保向后兼容旧版本格式
  4. 错误恢复: 实现完善的错误恢复机制

总结

Flipper Zero Unleashed固件的NFC文件格式提供了强大而灵活的近场通信数据存储方案。通过理解这些格式规范,开发者可以:

  • ✅ 创建兼容的NFC应用
  • ✅ 实现高效的数据存储和检索
  • ✅ 确保跨版本兼容性
  • ✅ 优化性能和内存使用

掌握这些文件格式将帮助您充分利用Flipper Zero的NFC功能,开发出更加出色的近场通信应用。

【免费下载链接】unleashed-firmware Flipper Zero Unleashed Firmware 【免费下载链接】unleashed-firmware 项目地址: https://gitcode.com/GitHub_Trending/un/unleashed-firmware

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值