【译文】我破解小米空气净化器 4 Pro 的故事
我在网上搜索了一款不错的空气净化器,小米 4 Pro 似乎能满足我的所有要求。过滤器大小、日程安排和风量都符合我的要求。我把它设置好后就没再多想,直到上周我的房间里响起了 “剩余0%”更换滤网的警告。我曾将设备设置为禁用液晶显示屏,所以这让我大吃一惊。我点击用户按钮解除了警告,15 分钟后,我的房间又亮了起来……
应用程序中没有任何地方可以让我禁用该警告,在这一年中,我已经多次清洁过滤器,我确信它至少还有 12 个月的使用寿命。我决定对粘在过滤器底部的噩梦般的 DRM RFID 芯片进行调查。
警察与小偷
当我拿起我的 Proxmark 时,我意识到肯定有人已经做了大量的工作,我部分地猜对了。Flamingo Tech 介绍说,他花了一些时间对这些过滤器进行了逆向工程,并公布了他的工作成果。
在他的 repo 中,他概述了标签中的重要模块:
第 8 块回到 00000000,恢复到 100%
其他区块信息:
- 区块 4 : rfid-factory-id
- 区块 5 :rfid-product-id(xx:xx:xx:xx:xx 常规过滤器)
- 区块 6:rfid-time
- 区块 7:rfid-serial-num
不幸的是,NfcA 标签仍被锁定,没有密码我们就无法编辑标签。幸好 proxmark 社区已经解决了这个问题。您可以在这里查看他们发现密码密钥基因的过程。
Flamingo Tech 发布了一个由 Doegox 编写的脚本,概述了密码破解的工作原理。尽管标题是 “他们是这样做的!”,但他并没有在文章中解释代码,而是把博客作为推销自己标签的行动号召。通常这种事情不会让我感到困扰,但 “这将大大减少从整个过滤器……到一个贴纸的废物足迹 “的评论却让我感到不快。如果他真的关心碳足迹,他应该解释一下如何更新过滤器上的标签。不过,如果你想支持他的工作,还是可以在这里买到他的贴纸。
我决定在这里解释代码,但如果你想跳过实际的过滤器重置,请向下滚动到 “破解标签”。
Password Key Gen:
脚本包含两个示例,第一个示例基于标签 UID “04A03CAA1E7080
“生成密码 “CD91AFCC
“。
首先,我们将 UID 转换为字节数组。这样,04A03CAA1E7080
就变成了一个字节序列 [04、A0、3C、AA、1E、70、80]
。
接下来,对这个字节数组应用 SHA-1 哈希函数,得到 bcaf806333ccf720cd441a167f914fbe6ea4a513
,将其转换为字节数组,因为我们只需要从这个字符串中提取 4 个字节来组成密码。
使用数组中的第一个字节 “BC
“,我们将其转换为十进制,得到 188
,并使用该字节确定每个字节在哈希值中的位置。
计算出的索引为
188 % 20 = 8 (188 + 5) % 20 = 13 (188 + 13) % 20 = 1 (188 + 17) % 20 = 5
现在回到我们之前生成的哈希值 – bcaf806333ccf720cd441a167f914fbe6ea4a513
按照正确的顺序抓取字节,我们可以得到
8th byte: CD 13th byte: 91 1st byte: AF 5th byte: CC
将这些字符串连接起来就是密码:
CD91AFCC
现在我们知道了它的工作原理,就可以修改/重置我们自己的过滤器了。不是每个人都能买到价值 350 美元的 Proxmark,因此我编写了使用任何 NFC 手机更新标签的说明。
破解标签
步骤 1:
为启用了 NFC 功能的 Android 或 iPhone 安装 NFC 工具。
第 2 步
使用免费应用程序的读取功能扫描滤镜底部的 NFC 标签。
步骤 3:
将获取的 “Serial Number/UID”(14 个字符的十六进制值)复制到某个地方。
步骤 4:
输入以下 14 个字符,生成重置命令。如果 UID 为 12345678901234
,则密码为 011853E8
,重置过滤器的命令为1B011853E8,3008,A20800000000
步骤 5:
在应用程序的主菜单中点击 “Other”->”Advanced NFC commands “并接受免责声明。然后将上述命令粘贴到数据框中。(注意:安卓用户必须从下拉菜单中选择 I/O 类别,即 “NfcA (ISO 14443-3A)
“)。
步骤 6:
确保手机顶部位于标签上方,然后点击 “‘Send Command”。
完成!您已经成功重置了过滤器。根据需要重复操作,即可实现持续、无忧的空气净化。
兼容设备列表:
小米空气净化器 | Compatible: | Tested: |
4 Pro | ✓ | ✓ |
4 Lite | ✓ | ⨯ |
4 | ✓ | ⨯ |
MI PRO | ✓ | ⨯ |
MI PRO H | ✓ | ⨯ |
PRO H | ✓ | ⨯ |
PRO | ✓ | ⨯ |
3H | ✓ | ⨯ |
如果您有时间对旧机型进行测试,请在下面发表评论,我将更新我的列表。
本文文字及图片出自 Breaking Free from DRM: The Story of Hacking My Air Purifier
你也许感兴趣的:
- 国外网友反向工程破解小米空气净化器延长滤芯使用时间
- 面试官在面试时让我去破解一个软件,我成功了
- 具有魔法的 H.264
- 多用户环境中的 rootless Docker
- 【外评】微软的人工智能聊天机器人将 “回忆 “您在其新 PC 上所做的一切
- 【外评】苹果需要解释重新出现已删除照片的错误
- 你需要知道的现代 CSS 技巧(2024 年春季版)
- 使用 :has() 作为 CSS 父选择器及其他更多内容
- 【外评】大科技公司致欧盟:“去死”
- npm又被滥用,灰产用《庆余年2》盗版资源——把开源公共基础设施的羊毛薅秃了
你对本文的反应是: