小米空气净化器滤芯RFID解密

本文介绍了如何通过反向工程获取小米空气净化器2S滤芯的密码算法,并提供了Python实现。该算法基于射频标签的UID生成4字节密码,用于验证滤芯寿命和正版状态。了解密码后,用户可以避免使用PM3等工具嗅探,直接修改NTAG213射频标签的BLOCK8数据来重置滤芯寿命。
摘要由CSDN通过智能技术生成

米空气净化器2S的正版滤芯,底下贴了一张NXP NTAG213射频标签。

空气净化器靠这个射频标签中的数据,判断滤芯的剩余寿命,以及是不是正版滤芯。

射频标签的密码采用了“一卡一密”。

一卡一密算法的Python实现如下:

import sys
import hashlib

# Usage: pwd.py 04A03CAA1E7080
def getpwd(uid):
    uid = bytearray.fromhex(uid)
    h = bytearray.fromhex(hashlib.sha1(uid).hexdigest())
    pwd = ""
    pwd += "%02X" % h[h[0] % 20]
    pwd += "%02X" % h[(h[0]+5) % 20]
    pwd += "%02X" % h[(h[0]+13) % 20]
    pwd += "%02X" % h[(h[0]+17) % 20]
    return pwd

assert getpwd("04A03CAA1E7080") == "CD91AFCC"
assert getpwd("04112233445566") == "EC9805C8"

print("PWD:", getpwd(sys.argv[1]))

使用时,需要将射频标签的7字节的UID作为输入。输出的4字节即为密码。

以上代码转载自如下链接:

国外网友反向工程破解小米空气净化器延长滤芯使用时间 | 程序师 - 程序员、编程语言、软件开发、编程技术小米空气净化器和其使用的滤芯之间的通讯是通过NFC的 UUID 确认的,他在净化器的反向工程获得的代码里发现了这个秘密icon-default.png?t=M666https://www.techug.com/post/xiaomi-air-purifier-reverse-engineering/

知道了密码,就无需再使用PM3等工具进行无线嗅探。

可以直接修改NTAG中的数据,请参考以下链接:

【PM3】重置小米空气净化器滤芯 | Ray of Hope新生代农民工https://raycn.pub/2021/08/21/reset-xiaomi-air-purifier-filters/

实际上这里只要把BLOCK 8清空掉就可以重置滤芯。执行hf mfu wrbl -b 8 -d 00000000 -k bc77b6ed清除BLOCK 8的数据。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值