概要
- Cricut Maker をe-wasteから回収し、修理とハックに挑戦した記録
- ローラーの劣化が主な故障原因と推測し、交換パーツも安価に入手可能
- 本体はロックされていたが、USB通信の解析とRP2040を用いたプロキシで解除に成功
- ネットワークやファームウェア改変など他のアプローチも検討
- コード共有は法的リスクから見送り
Cricut Makerの修理とロック解除の試み
-
Cricut Maker をe-wasteで発見、外観は良好だが ローラーが劣化 していた
-
ローラーの劣化が廃棄理由と推測し、持ち帰って調査
-
Cricutは ロックや機能制限 が厳しいことで有名
-
本体がロック されていたが、ハックで 全機能回復 に成功
-
前所有者は保証交換や新モデル割引を受けた可能性
- Alex による調査で 交換用ローラー は格安で入手可能と判明
- 必要電圧18Vのところ12Vで動作確認、 セルフテストと通信は可能
- ソフト接続時に「 Machine deactivated」の表示
-
最初のアプローチは マザーボード上のEEPROM書き換え を検討
- 分解は難易度が高いがローラー交換でも必須作業
- EEPROMは見当たらず、搭載MCU用のデバッガも未所持
-
次の案として ネットワーク通信のインターセプト を考案
- シリアル番号の書き換えや認証応答の偽装を検討
- アプリのセキュリティ対策(証明書ピンニング等)で断念
-
切り替えて USB通信の解析 を開始
- Wireshark でUSB CDC通信をキャプチャ
- シリアル番号送信パケットを特定、 チェックサムや暗号化なし
-
RPi RP2040 を利用し、 USBホスト&クライアント としてプロキシデバイスを構築
- TinyUSB Arduinoのサンプルを活用し、 シリアル番号書き換え 機能を実装
- USBメタデータ(ベンダーID等)も本体に合わせて設定
- パケット長とコマンド一致時に シリアル番号を差し替え
- シリアル番号は連番で発行されており、Cricut公式サイトで状態確認可能
- 書き換えデバイス経由 でソフトウェアは偽装に気付かず、 アカウント登録も可能
- 存在しないシリアル番号も登録できることを確認
- 他人のCricutシリアル番号を ロックアウトやアカウント追加 できるリスク
-
ローラー交換 (新ローラーはお湯で柔らかくして装着)、再組立、RP2040ケースも自作
-
結果として 新品同様に利用可能
他のロック解除アプローチ案
-
今回の手法は 一般ユーザー向けではない が、他にも方法が存在
- ネットワーク通信をインターセプトまたはアプリ改変で シリアル番号偽装
- Cricut USB CDC接続をエミュレート するドライバを作成し、プロキシとして機能
- USB CDCドライバでBluetooth経由接続を実現
- ファームウェアアップデート工程 を解析し、シリアル番号書き換えを組み込む
- Bluetoothプロキシデバイスの開発
- BluetoothチップとCricut MCU間にMCUを挿入し、シリアル番号書き換え
-
今回は 自分に合った方法 で解決したため、他手法の実装は未実施
法的注意点とまとめ
- シリアル番号書き換え用コード は オーストラリア著作権法 の観点から公開を控える
- TinyUSB Arduinoライブラリのサンプルに近い内容
- ハードウェア・ソフトウェア両面から ロック解除の可能性
- 中古・廃棄Cricut再生 の実例として参考
- 法的リスクやセキュリティ上の懸念 も存在