解锁已锁定或停用的电子垃圾Cricut Maker
摘要
一份个人经历详细描述了如何通过使用RP2040微控制器拦截USB通信来替换序列号,从而解锁一台来自电子垃圾的锁定Cricut Maker,恢复其完整功能。
暂无内容
查看缓存全文
缓存时间: 2026/08/19 22:09
# 解锁被锁定/禁用的废弃Cricut切割机
来源:https://sprocketfox.io/xssfox/2026/07/01/cricut-unlock/
在丢弃垃圾时,我注意到电子垃圾堆里有一台Cricut切割机。快速检查后发现,除了滚轮老化损坏外,这台机器的外观状况相当良好。我推测滚轮就是这台设备被丢弃的原因,决定带回家研究。我知道Cricut公司对设备禁用/锁定措施相当严格(https://www.reddit.com/r/cricut/wiki/faq/used),但估计折腾一下也挺有趣。不出所料,这台机器确实被锁定了。不过经过一些破解操作,我成功恢复了它的全部功能。很可能上一位用户获得了保修换新或购买新款的折扣优惠。
Alex(https://helvetica.systems/)快速搜索发现,替换滚轮很容易买到且价格低廉。即使使用12V电源(而非官方要求的18V),机器也能通过自检并与软件通信——尽管连接时仍会显示那条令人生畏的“设备已禁用”信息。
我最初考虑调查主板上是否有可重写序列号的EEPROM芯片。拆机过程相当复杂(https://www.ifixit.com/Guide/Cricut+Maker+Motherboard+Replacement/154460),但无论如何更换滚轮都必须拆机。然而我既没找到EEPROM芯片,所用的MCU也没有对应的调试工具。
于是转向网络拦截方案,试图替换序列号或模拟成功响应。但各种应用安全措施(如证书锁定)使禁用过程比我预期的更复杂。并非完全不可行——只是我没能轻易找到破解方法。
我将重点转向拦截切割机与电脑间的通信。使用Wireshark抓取Cricut与主机间的USB数据包后,很快定位到发送序列号的数据包。该通信似乎没有校验或加密机制。因此我向Droppy(https://stackunderflow.com/)借用了一个RP2040开发板,它能同时充当USB主机和客户端。
Cricut切割机背景中连接着RP2040开发板,通过两个USB端口分别连接切割机和电脑
利用TinyUSB的Arduino示例(USB主机模式与CDC简单回声),我拼凑出了一个简易代理重写设备。设备本身并不复杂,但我花了点时间才发现USB主机模式必须超频至240MHz才能正常工作。同时我修改了所有USB元数据(包括厂商/产品ID和描述)使其与切割机匹配。当检测到切割机发送的特定长度数据包且包含对应指令/序列号时,设备会将其替换为不同的序列号。序列号似乎是按顺序分配的,可在Cricut官方状态页面(https://machinestatus.cricut.com/html/en.html)查看所有设备状态。
Cricut软件显示设备已连接
通过硬件层重写序列号,软件系统完全无法察觉异常。设备成功在我的账户中注册,甚至可以使用Cricut机器状态页面不存在的序列号进行注册。
> 显然这引发了新的问题:陌生人是否可能通过其他用户的Cricut序列号进行锁定操作或绑定到自己的账户...
为USB重写微控制器打印的3D外壳
清洁设备、更换滚轮(提示:用热水软化新滚轮以便安装)、重新组装Cricut并为RP2040打印外壳后,这台机器已能像全新设备一样正常使用。
打印并切割的多张贴纸
虽然这种让Cricut恢复正常工作的方法对用户最不友好(我相信存在纯软件解决方案),但可考虑的替代方案包括:
- 拦截网络流量或修改应用程序上报的序列号
- 编写模拟Cricut USB CDC连接的驱动程序并代理序列号
- 编写模拟Cricut USB CDC连接的驱动程序,但通过蓝牙连接Cricut设备
- 研究固件更新流程,利用更新过程重写序列号
- 制造充当蓝牙代理的设备
- 在蓝牙芯片与Cricut MCU之间添加另一个微控制器,在数据进入蓝牙芯片前重写序列号
我不会深入研究这些方案,因为现有设备已满足需求,但这些都是值得探索的可行路径。此外我不会公开序列号修改代码(根据澳大利亚版权法可能不享有豁免权,本人非法律专业人士...),其原理与TinyUSB Arduino库中的示例代码非常接近。
相似文章
远程解锁电动滑板车
一位安全研究人员详细描述了通过对公司网络基础设施进行侦察,并利用WordPress和操作面板中的漏洞,远程解锁电动滑板车的过程。
破解Kyocera KY-42C
一篇关于解锁引导加载程序和改造Kyocera KY-42C功能手机的详细博客文章,该手机在固件更新后被认为无法获取root权限。作者研究了联发科(MediaTek)的启动过程和漏洞利用。
逆向工程我的电动滑板车并用Rust语言重写固件
Ben逆向工程了Egret GT电动滑板车,通过蓝牙和CAN总线发现了隐藏功能,并用Rust语言为显示屏单元编写了自定义固件。
让四年前的 reMarkable 2 重获新生
一份技术指南,介绍如何让闲置多年的 reMarkable 2 平板电脑重获新生,涵盖修复时钟、应用软件更新、重新启用 Wi-Fi 上的 SSH,以及通过内置 Web 服务器导入文件。
Tesla Wall Connector 引导程序绕过固件降级棘轮
本文详细介绍了研究人员如何绕过 Tesla Wall Connector 引导程序中的固件降级保护,从而能够在存在安全棘轮的情况下安装旧版固件。