🔐 蓝牙协议工具集

企业微信录音设备 - 数据包解析 & 握手签名计算

使用说明

  • 输入蓝牙收到的十六进制字符串(如:FE 01 00 1F 27 11 00 01 00 01 01 6E 17...)
  • 支持空格、逗号、0x前缀等多种格式
  • 工具会自动解析包头(13字节)和包体内容
  • 对于加密的包体,可以提供密钥进行解密(可选)
支持空格、逗号分隔,支持0x前缀
仅当包体加密时需要提供(flags.Encrypted = 1)

解析中...

📝 示例数据

使用说明

  • 解析 OTA 升级流程中的控制指令包(通过常规 Write/Notify 特征值收发)
  • 以及 Write No Response 数据帧(UUID 0xFCD0,用于高速传输 bin 数据流)
  • 控制指令包头固定 8 字节(大端字节序):bMagicNumber(1) + bVer(1) + nLength(2) + nCmdId(2) + nSeq(2)
  • 数据帧帧头固定 4 字节:nBlockSeq(2) + nPayloadLen(2) + aData(N)
  • 支持空格、逗号、0x前缀等多种十六进制输入格式
支持空格、逗号分隔,支持0x前缀

解析中...

📝 示例数据
📖 OTA协议说明

使用说明

  • 解析蓝牙BLE广播包中的厂商自定义字段(18字节)
  • 输入格式:十六进制字符串(支持空格、逗号分隔)
  • 自动识别设备ID、绑定状态等信息
  • 完整BLE广播包包含Service UUID(4字节)+ Manufacturer Data头(4字节)+ 厂商数据(18字节)
支持完整BLE包(26字节+)或仅厂商自定义字段(18字节),支持空格/逗号分隔,可选0x前缀

解析中...

📝 示例数据

未绑定设备(仅厂商数据)

EE 00 01 02 03 04 05 06 07 08 00 00 00 00 00 00 00 00

已绑定设备(仅厂商数据)

EE 01 AA BB CC DD EE FF 00 11 00 00 00 00 00 00 00 00

完整BLE广播包(26字节)

03 03 E8 FC 15 FF 00 06 EE 01 01 02 03 04 05 06 07 08 00 00 00 00 00 00 00 00

完整BLE广播包(含设备名称46字节)

02 01 06 03 03 E8 FC 15 FF 00 06 EE 00 7C 9F 00 04 62 B2 B8 5C 00 00 00 00 00 00 00 00 0B 09 57 65 43 6F 6D 20 4E 6F 74 65

使用说明

  • 解析蓝牙Read Characteristics (UUID: 0xFCC9)返回的设备信息
  • 固定长度:26字节(所有字段采用大端序)
  • 包含设备MAC地址、固件版本、电量、存储空间等信息
  • 支持空格、逗号、0x前缀等多种输入格式
支持空格、逗号分隔,支持0x前缀。固定26字节。

解析中...

📝 示例数据

未绑定设备(电量100%)

AA BB CC DD EE FF 01 01 56 31 2E 30 2E 31 01 64 00 00 00 00 02 00 00 00 01 00

固件V1.0.1,APP模式,长按录音,512MB存储

已绑定设备(电量85%)

11 22 33 44 55 66 01 01 56 31 2E 32 2E 30 01 55 01 01 00 00 04 00 00 00 03 80

固件V1.2.0,APP模式,点按录音,1GB存储

OTA升级模式

F0 E1 D2 C3 B4 A5 01 01 31 2E 30 2E 30 02 32 00 00 00 00 02 00 00 00 02 00

固件1.0.0,OTA模式,电量50%,存储已满

低电量设备

7C 9F 00 04 62 B2 01 01 56 32 2E 31 2E 35 01 0F 00 01 00 00 08 00 00 00 00 10

固件V2.1.5,电量15%,2GB存储(剩余16MB)

使用说明

  • 根据蓝牙协议握手流程计算HMAC-SHA1签名
  • 服务端签名: 手机端生成(20001响应),使用secretNo作为密钥
  • 设备签名: 设备端生成(10002请求),使用secretNo作为密钥
  • 密钥签名: 设备端生成(10002请求),需要已绑定,使用secret作为密钥

计算中...

📝 示例参数

完整握手流程

secretNo: 3b00147353d569ac9a4e21063d6xxxxx
client_nonce: 123451, server_nonce: 12354
SN: JAS6007, secret: 0123456789abcdef0123456789abcdef

使用说明

  • 使用 AES-128-ECB 模式进行加解密,与设备代码使用相同的算法
  • 密钥长度:16字节(32个十六进制字符)
  • 填充方式:PKCS7(加密时自动填充,解密时自动移除)
  • 支持多种输入格式:十六进制字符串(支持空格/逗号分隔,0x前缀)或 UTF-8 文本
十六进制: 支持空格、逗号分隔,支持0x前缀 | 字符串: 直接输入文本 | 超过16字节将自动截取前16字节

处理中...

📝 示例数据
📖 算法说明