首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

解锁锁定/停用的电子垃圾 Cricut Maker

摘要

While taking some rubbish down I spotted a Cricut Maker in e-waste. A quick look at it revealed that the it was in fairly good cosmetic condition with the exception of the rollers being perished. I gu...

the and was that with for some rollers Cricut were
2026-08-20 1 阅读 约4分钟阅读 1e1a
分享:
字号:
在倒一些垃圾时,我在电子垃圾中发现了一台 Cricut 制造机。快速查看后发现,除了滚轮已损坏外,其外观状况相当良好。我猜测滚筒是导致该装置被丢弃的原因,并决定将其带回家进行调查。我知道 Cricut 在禁用/锁定机器方面非常激进,但我认为它仍然值得玩一玩。事实证明这台机器被锁定了,这是意料之中的。然而,通过一些黑客攻击,我能够将其恢复到完整的功能。最后一位用户很可能获得了保修更换或新型号的折扣。亚历克斯做了一些快速搜索,发现更换滚轮很容易买到,只需很少的美元。即使关闭机器的电源为 12v,而不是明显需要的 18v,它仍然显示出生命迹象,通过了自检并与软件进行通信 - 尽管在连接到它时显示了可怕的“机器已停用”消息。我想调查的第一个方法是主板上是否有可以重写序列号的 eeprom。拆卸不适合胆小的人——它涉及到,但无论如何我都需要这样做来更换滚轮。我没有找到任何 eeprom,并且所使用的 MCU 是我没有调试器的东西。我的第二个想法是拦截网络连接并替换序列号或返回成功消息。然而,各种应用程序安全措施使其比我想要禁用证书固定更烦人。这并不是说你不能——只是我不知道如何简单地做到这一点。我的注意力转向对切割机和计算机本身之间的通信进行拦截。我启动了wireshark来捕获Cricut和我的机器之间的USB消息。它使用 USB CDC 进行通信,很快我就找到了负责发送序列号的数据包。似乎没有任何校验和或加密。所以我从 Droppy 借了一个 RPi RP2040,它既可以充当 USB Host,也可以充当 USB Client。使用 USB 主机的 TinyUSB Arduino 示例和 CDC 简单 echo,我能够拼凑出一个简单的代理/重写设备。这没什么特别的,但是我花了一点时间才发现 USB 主机只有超频到 240MHz 才能正常工作。我还配置了所有 USB 元数据(例如供应商/产品 ID 和描述)以匹配该设备。当它检测到来自切割器的数据包与正确的长度匹配并且其中包含命令/序列号时,它会用不同的序列号替换它。序列号似乎是按顺序发布的,您可以在 Cricuts 自己的网页上看到所有单元的状态。当重写设备在硬件级别替换序列号时,软件也不会变得更明智。该单位显示在我的帐户中。我什至可以注册 Cricut 机器状态页面上不存在的序列号。显然,这提出了一个问题,即随机的陌生人能够让其他用户 Cricut 序列号被锁定或添加到他们的帐户中……。清理设备后,更换滚筒(提示,使用热水软化新滚筒以安装它们),重新组装 Cricut 并为 RP2040 打印一个小盒子 - 我能够像全新的一样使用该设备。然而,我使 Cricut 恢复正常运行的方法可能是最不用户友好的方法,因为我相信仅存在软件解决方案。我想到的一些替代方案是: 拦截网络流量或修补应用程序以报告不同的序列号 编写一个假装为 Cricut USB CDC 连接并代理序列号的驱动程序 编写一个假装为 Cricut USB CDC 连接但通过蓝牙连接到 Cricut 的驱动程序 了解固件更新过程并利用该过程来修补序列号作为更新的一部分 充当蓝牙代理的设备 在蓝牙芯片和 Cricut MCU 之间添加另一个 MCU 以重写序列号在进入蓝牙芯片之前,我不会调查其中任何一个,因为我有一些适合我的东西,但这些都是值得探索的可行选择。此外,我不会分享执行序列号更改所需的代码,因为这可能不会在澳大利亚版权法中得到豁免(不是律师等......),但它与 TInyUSB Arduino 库中包含的示例非常接近
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱