小米空气净化器RFID芯片滤芯破解重置

2023-01-16 10:27:24 57点赞 366收藏 82评论

小米带芯片的空气净化器滤芯寿命是按照通电使用时间计算的,可能没怎么使用但时间到了就频繁提示购买新滤芯,一是浪费,二是穷,所以就折腾一下,后续内容仅为技术学习与讨论,不涉及侵犯知识产权等,如有问题,私信联系我删除内容。


米家小米空气净化器滤芯滤网除菌版升级款除甲醛除菌除烟味适用于1代/2/2S/3/pro169元京东去购买

小米空气净化器RFID芯片滤芯破解重置

思路来自CSDN文章小米空气净化器滤芯RFID解密_robur的博客-CSDN博客_rfid解密

我采用的方案是手头的arduino mega 2560 + RC522小板子

MEGA2560R3开发板扩展版ATMEGA16U2CH340G适用于Arduino官方版88元天猫精选去购买



MFRC-522RC522RFID射频IC卡感应模块读卡器送S50复旦卡钥匙扣6.9元天猫精选去购买


小米空气净化器RFID芯片滤芯破解重置

然后小撸一段代码就ok了:

1:读取到滤芯底部RFID的UID

2:通过算法计算出密码

3:擦掉BLOCK 8的数据【PM3】重置小米空气净化器滤芯 | Ray of Hope (raycn.pub)

如果你不会或者麻烦,淘宝上有写好的标签,你也可以只换个标签也行。

其实淘宝上有替换的滤芯rfid贴纸,几块钱一张,链接无法添加你们可以搜一下

后边是我贴的代码,看不懂就别看了哈哈


/*

【Arduino】MEGA 2560

MFRC-522 RC522 RFID射频 读写NTAG213射频标签

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

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

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

密码采用射频卡UID计算得来


得到密码后只要把BLOCK 8清空掉就可以重置滤芯

仅用于技术学习与交流


RFID与Arduino的连线

SDA------------------------Digital 53

SCK------------------------Digital 52

MOSI----------------------Digital 51

MISO----------------------Digital 50

IRQ------------------------不用连接

GND-----------------------GND

RST------------------------Digital 2

3.3V------------------------3.3V (千万不要连接到5V接口!!!)

*/

#include <stdio.h>

#include <string.h>

#include <utils_sha1.h>

#include <SPI.h>

#include <MFRC522.h>

#include <MFRC522Extended.h>

#include <deprecated.h>

#include <require_cpp11.h>


#define SS_PIN 53


#define RST_PIN 2


MFRC522 mfrc522(SS_PIN, RST_PIN);

MFRC522::MIFARE_Key key;

int serial_putc( char c, struct __file * )

{

Serial.write( c );

return c;

}

void printf_begin(void)

{

fdevopen( &serial_putc, 0 );

}


void setup() {

// put your setup code here, to run once:

Serial.begin(115200);

printf_begin();

SPI.begin();

mfrc522.PCD_Init();

printf("初始化结束rn");

}


void loop() {

// put your main code here, to run repeatedly:

// 寻卡

if ( ! mfrc522.PICC_IsNewCardPresent())

return;

printf("寻卡成功rn");

// 选择一张卡

if ( ! mfrc522.PICC_ReadCardSerial())

return;

printf("选择卡片成功,卡片UID:rn");

dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);

Serial.println();

//获取卡片类型

MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);

Serial.println(mfrc522.PICC_GetTypeName(piccType));


if (piccType != MFRC522::PICC_TYPE_MIFARE_UL) {

printf("卡片类型错误rn");

return;

}

printf("卡片类型正确rn");

//计算1卡1密

byte PSWBuff[] = {0x00, 0x00, 0x00, 0x00};

byte pACK[] = {0, 0};//NFCtag 返回的 16 位密码 ACK。

xiaomi_air_purifier_password(mfrc522.uid.uidByte,PSWBuff);

printf("卡片密码:");

dump_byte_array(PSWBuff, 4);

printf("rn");


MFRC522::StatusCode status;

status = (MFRC522::StatusCode) mfrc522.PCD_NTAG216_AUTH(&PSWBuff[0], pACK);

if (status != MFRC522::STATUS_OK) {

printf("认证失败rn");

}

printf("认证成功rn");

byte blockAddr = 8;

byte buffer[18];

byte size = sizeof(buffer);

status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size);

if (status != MFRC522::STATUS_OK) {

printf("读取失败rn");

}

printf("读取 block 8 成功,block 8数据:");

dump_byte_array(buffer, 16);

printf("rn");

byte dataBlock[] = {

0x00, 0x00, 0x00, 0x00, // 1, 2, 3, 4,

0x00, 0x00, 0x00, 0x00, // 5, 6, 7, 8,

0x00, 0x00, 0x00, 0x00, // 9, 10, 255, 11,

0x00, 0x00, 0x00, 0x00 // 12, 13, 14, 15

};

//清除数据

status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(blockAddr, dataBlock, sizeof(dataBlock));

if (status != MFRC522::STATUS_OK) {

printf("写入失败rn");

}

printf("写入成功rn");

delay(5000);

}

void xiaomi_air_purifier_password(byte *uid, byte *PSWBuff) {

unsigned char output[40];

unsigned char i;


utils_sha1_hex(uid,7,output);


PSWBuff[0] = output[output[0] % 20];

PSWBuff[1] = output[(output[0]+5) % 20];

PSWBuff[2] = output[(output[0]+13) % 20];

PSWBuff[3] = output[(output[0]+17) % 20];

}

void dump_byte_array(byte *buffer, byte bufferSize) {

for (byte i = 0; i < bufferSize; i++) {

Serial.print(buffer[i] < 0x10 ? " 0" : " ");

Serial.print(buffer[i], HEX);

}

}


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
82评论

  • 精彩
  • 最新
  • 其实吧,我觉得一年换一次,费用还是可以接受的。至于寿命是否需要自行延长,报警无所谓拉。另外第三方的价格是便宜,但滤芯做的的确质量有点差。加上各种折腾,反而我觉得必要性不大。都用上空气净化器了,都是讲究人了

    校验提示文案

    提交
    其实主要是想验证技术

    校验提示文案

    提交
    不能惯着厂家,按时间算滤芯寿命其实挺坑的

    校验提示文案

    提交
    收起所有回复
  • 以前买夏普的净化器,说明书写的滤网使用寿命都很多年,平时维护就拿吸尘器吸一下,活性炭晒一下就可以了,怎么现在的都叫一年一换,甚至几个月就换,动一下脑子想想原理,就算滤网用久了,不过是过风的效率低了。按以前的方法维护应该用个三五年没什么问题的

    校验提示文案

    提交
    机器卖的便宜,就靠卖耗材挣钱

    校验提示文案

    提交
    收起所有回复
  • 映像中工程模式能重置寿命累计,操作过一次

    校验提示文案

    提交
    看视频有教程,我没试过

    校验提示文案

    提交
    看了视频,意思是整台机器都重置了,第一次开机时默认滤芯是100%,固件BUG啊 [得逞]

    校验提示文案

    提交
    收起所有回复
  • 密码开源解决,8置0,可惜我没设备,手头上的PN532做不了这个

    校验提示文案

    提交
    主要还是网上看到方法好奇得很

    校验提示文案

    提交
    pn532也可以的,用pcr532软件

    校验提示文案

    提交
    还有8条回复
    收起所有回复
  • 这个好。买个十七八张存着一次性重置

    校验提示文案

    提交
    一个标签5-8块,咱该省省该花花

    校验提示文案

    提交
    买的那么多滤芯上扒拉点下来也行

    校验提示文案

    提交
    收起所有回复
  • pro用​pm3嗅​探不出来,我这个UID是53 ​F​8 9A 8C 01 C1 00,能帮我算一下么?​

    校验提示文案

    提交
    晚上回去帮你算一下

    校验提示文案

    提交
    3q

    校验提示文案

    提交
    还有10条回复
    收起所有回复
  • 您好,能否交流一下小米净水器的NFC重置问题吗,谢谢

    校验提示文案

    提交
    哈哈没试过

    校验提示文案

    提交
    主要还是手里没有净水器

    校验提示文案

    提交
    还有7条回复
    收起所有回复
  • 请教下 utils_sha1.h 要装什么库?原码能分享下吗

    校验提示文案

    提交
    晚上给你找找

    校验提示文案

    提交
    求源码 🙏

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 它提示后就不能正常工作了吗

    校验提示文案

    提交
    那倒不是,只是app不停推送更换耗材,而且显示的pm2.5值也偏大

    校验提示文案

    提交
    滤芯拿出来吸尘器吸吸,太阳底下晒晒再放进去

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • RFID我们厂生存几分钱一张

    校验提示文案

    提交
    这么便宜?哦对了,衣服发白建议用爆炸盐泡一泡,你试试

    校验提示文案

    提交
    大佬,能联系购买点芯片吗

    校验提示文案

    提交
    收起所有回复
  • 前后两个键同时按,6秒后听到响后,松开后面的键,6秒听到响后,断电,重启,重置成功 [高兴] [高兴] [高兴]

    校验提示文案

    提交
  • 硬核帖顶了了,我是4lite用户,印象中4lite没有rfid。现在东西都想着怎么二次赚钱是真的烦,4lite不是按照使用时间算的,你不开也算时间,这点很坑。虽然4lite可以重置滤芯吧,但是也是烦

    校验提示文案

    提交
  • 我是直接撕掉RFID

    校验提示文案

    提交
    撕掉就不会报了?

    校验提示文案

    提交
    感觉撕掉了pm2.5值报的很奇怪,而且通知太烦人

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 4pro同时按前面2个和后面按键,听到嘀嘀嘀放开前面2个,再次嘀嘀嘀放开后面,然后拔电源。再开机就搞定了 [高兴]

    校验提示文案

    提交
  • 有没有物理破解方法

    校验提示文案

    提交
    买一张新标签 [阴笑]

    校验提示文案

    提交
    后面按6秒重置,然后直接拔掉电源,重新开机就可以了 [高兴]

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 直接拿刀划开就完事了

    校验提示文案

    提交
  • 按6秒重置,然后直接拔掉电源就可以了 [高兴]

    校验提示文案

    提交
    3刚刚试了一下不行

    校验提示文案

    提交
    收起所有回复
  • 重置

    校验提示文案

    提交
  • [喜极而泣] 352的滤芯能写吗?

    校验提示文案

    提交
  • 我用吹风机解决的

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
关注 打赏
最新文章 热门文章
366
扫一下,分享更方便,购买更轻松