誰か一緒に挑まないか?TCL 32S5400のroot化という巨大な壁
「安くて画質が良いスマートテレビ」として、日本国内でもすっかりおなじみとなったTCLのテレビ。その中でも「32S5400」などのモデルは、手頃なサイズと価格でありながら、中身は完全なAndroid(Google TV)が動いているという、非常に魅力的なガジェットです。
普通にYouTubeやプライムビデオを見るだけなら、これほどコスパの良い製品はありません。しかし、私たちのような「システムの中身をいじり倒したい」「不要なアプリを根こそぎ消したい」、そして何より「テレビの内蔵チューナーをPCのネットワークチューナー(BonDriver)として使いたい」と考えるギーク(技術愛好家)にとって、このテレビは「極めて攻略難易度の高い難攻不落の要塞」として立ちはだかっています。
現在、私はこのTCL 32S5400のシステム最高権限(root権限)を取得するプロジェクトに行き詰まっています。海外のハッカーコミュニティ(XDAなど)を見渡しても、同世代のMediaTek(旧MStar系)チップセットを積んだテレビの完全なroot化手順は、まだ明確に確立されていません。
一人での解析には限界が来ています。そこで今回、このコラムを通じて、システムの裏側に詳しいエンジニアや、過去にAndroid TVのハッキングに成功した先人たちに向けて、「誰かTCL TV 32S5400のroot化方法を一緒に考えてくれないか?」というSOSと、これまでの検証データの共有を行いたいと思います。
これまでの戦いの記録:ブートループと暗号化の絶望
まずは、私がこれまでどこまで進み、どこで躓いているのか、現在のステータスを共有します。
事の発端は、システムの心臓部である「boot.img」に、root化ツールであるMagisk(マジスク)でパッチを当ててテレビに書き込んだことでした。ブートローダーのアンロック自体は可能だったのですが、Androidの改ざん防止機能である「AVB(Android Verified Boot)」の無効化、つまり「vbmeta」のフラグ書き換えを怠ったため、テレビはTCLのロゴが出た瞬間に再起動を繰り返す「無限ブートループ(文鎮化)」に陥りました。
メーカーのサポートから郵送で「復旧用のUSBメモリ」を取り寄せ、なんとかテレビを復活させることには成功しました。しかし、このUSBメモリに入っていたファームウェア(アップデートファイル)が、私の希望を打ち砕きました。
ファイルは高度なAES暗号化(Firmware Encryption)でガチガチに保護されており、PC上で展開してクリーンな「boot.img」や「vbmeta.img」を取り出すことができなかったのです。テレビ本体のリカバリーシステムは、USBからデータを読み込みながら「オンザフライ(その場)」で復号して書き込んでいましたが、PCの汎用ツールではただの無意味な文字列にしか見えません。
つまり、現在の状況は「テレビは動いているが、root化に必要な『暗号化されていない生のシステムファイル』が手元にない」という八方塞がりの状態です。
ここから先へ進むためには、以下の「3つの突破口」のいずれかをこじ開ける必要があります。知恵を貸してください。
突破口その1:BROMモードからの生パーティション吸い出し
最も現実的で、かつ成功率が高いと考えているのが、テレビの内蔵ストレージ(eMMC)から、PCへ直接システムファイルを吸い出す(ダンプする)方法です。
MediaTek製のチップセットには、起動のごく初期段階に「BROM(Boot Read-Only Memory)モード」と呼ばれる、工場用の保守モードが存在します。PC側で「mtkclient」というPythonベースの強力なリバースエンジニアリングツールを待機させておき、テレビとUSB接続できれば、暗号化されていない生のパーティションを直接読み書きできるはずです。
【課題と求めているアイデア】 現在、このBROMモードへの安定した突入タイミングが掴めずにいます。 テレビのAC電源(コンセント)を抜き、本体の物理電源ボタンを押しながらコンセントを挿すことで、PCのデバイスマネージャーに一瞬だけ「MediaTek Preloader」として認識されることは確認しました。しかし、本当に「一瞬」であり、mtkclientがハンドシェイク(通信の確立)を行う前にテレビ側が通常の起動プロセスに移行して切断されてしまいます。
スマートフォンであれば、ボリュームボタンの上下を同時押ししながらUSBを挿すなどの確実なBROM移行コマンドがありますが、物理ボタンが一つしかないテレビではどうすればBROMモードを維持できるのでしょうか? 基板上のフラッシュメモリ付近にある「テストポイント」をGND(アース)にショートさせる物理的な手法(テストポイント・メソッド)が必要なのでしょうか? もし32S5400のメイン基板(MT96xxやMT58xx系)のテストポイントの位置をご存知の方がいれば、ぜひ情報を共有していただきたいです。
突破口その2:UART接続によるU-Bootへの割り込み
ソフトウェア(USB)からのアクセスがダメなら、ハードウェアからの直接アクセスを試みるしかありません。テレビの背面パネルを開け、メイン基板上に実装されている「UART(シリアル通信)」のヘッダーピンを利用する方法です。
基板上の「TX(送信)」「RX(受信)」「GND(グラウンド)」のピンを見つけ出し、PCとUSB-TTL変換モジュール(CH340など)をはんだ付けして繋ぎます。そしてTeraTermなどのターミナルソフト(通信速度115200bps)を開いた状態でテレビの電源を入れます。 すると、画面にはLinuxの起動ログが滝のように流れてくるはずです。
この起動プロセスの初期、ブートローダー(U-Boot)が立ち上がる数秒の間に、キーボードの「Enter」や「Esc」を連打することで、システムの自動起動を中断(autoboot interrupt)させ、コマンド入力待ちのプロンプト画面に落とし込むという手法です。ここに入れれば、emmc readコマンドなどを使ってシステムをダンプできる可能性があります。
【課題と求めているアイデア】 MStar/MediaTek系の最近のテレビでは、このU-Bootへの割り込みが非常に厳しく制限されています。 そもそもキーボードからの入力がブロックされていたり、割り込みに成功しても「パスワード」を要求されたりするケースが報告されています。 過去のTCL製品では特定の隠しコマンドや、特定のハッシュ化されたパスワードが存在していましたが、最新のAndroid 11搭載機におけるシリアルコンソールの突破方法、あるいはU-Bootの入力制限をバイパスする魔法のキーシーケンスをご存知の有志はいませんか?
突破口その3:暗号化ファームウェアのオフライン復号
本体からの直接吸い出しが物理的に困難な場合、手元にある「暗号化されたUSBファームウェア」を力技で復号するアプローチになります。
ファイル自体はAESなどで暗号化されているものの、それを復号するための「鍵(キー)」は、当然ながらテレビ本体のどこかに隠されています。 古い世代のMStar系チップ(2017年頃)であれば、「mstar-bin-tool」という有志が作成したアンパックツールが存在し、比較的容易にファームウェアを解凍することができました。しかし、現在のTCL 32S5400のファームウェアは構造が複雑化しており、従来のツールではエラーを吐いてしまいます。
【課題と求めているアイデア】 TCLの最新OTA(Over The Air)アップデートファイル、あるいはリカバリー用USBファームウェアの暗号化アルゴリズムを解析しているリサーチャーの方はいませんか? または、ファームウェア内に含まれるRSA署名や、TrustZone(TEE)内に格納されている復号キーをRAMダンプなどから抽出する具体的なアプローチについて、暗号解析に明るい方の知見が必要です。暗号化さえ解ければ、「DA(Download Agent)ファイル」や「プレローダー」も手に入り、mtkclientでのハッキングが一気に現実味を帯びてきます。
なぜそこまでしてテレビのroot化を諦めきれないのか
「たかが数万円のテレビに、なぜそこまでムキになるのか?普通にFire TV Stickでも挿して使えばいいじゃないか」と思われるかもしれません。 しかし、このプロジェクトには、日本のDIYコミュニティにおいて長年追い求められてきた「巨大なロマン」が詰まっています。それが「スマートテレビ内蔵チューナーのBonDriver化」です。
先日のADB(Android Debug Bridge)経由での非破壊調査により、このテレビの内部には /dev/mik!tuner や /dev/mik!dmx といった、旧MStar系のレガシーな独自チューナーデバイスノードが存在することが判明しています。 しかし、これらはSELinuxの厳格なアクセス制御によって、一般ユーザー(shell)からは直接触れることができませんでした。
もしroot権限を取得し、SELinuxをPermissive(寛容モード)に変更することができれば、このテレビは単なるモニターではなくなります。 内蔵された地デジ・BSチューナーが受信した生のMPEG-2 TS(Transport Stream)データを直接Linuxコマンドで引っこ抜き、ネットワーク経由でPCへ転送することが可能になります。つまり、別途PC用の高価なチューナーボード(PT3など)を買わなくても、このTCLのテレビ自体を「超高性能なネットワーク録画サーバー(チューナーノード)」として再定義できるのです。
ハードウェアが持っている本来のポテンシャルを、メーカーが引いた制限の枠を超えて100%引き出す。これこそが、システムエンジニアやハードウェアハッカーが夜を徹して基板と向き合う最大の理由です。
集合知を求む!ハッカーたちのコミュニティへ
現在、TCL TV 32S5400は文鎮化の危機を乗り越え、正常に稼働しながら次の「手術(ハッキング)」の時を待っています。
- MediaTek/MStar系のSoCアーキテクチャに詳しい方
- mtkclientを使ったスマートテレビのBROM接続に成功したことがある方
- シリアル通信(UART)経由でAndroid TVのU-Bootに侵入した経験がある方
- 暗号化されたTVファームウェアのアンパック技術に興味がある方
どうか、あなたの知識と経験を貸してください。 ブログのコメント欄、あるいはX(旧Twitter)、GitHubのIssueなど、場所はどこでも構いません。「このピンをショートさせてみては?」「このコマンドを試してみては?」といった小さなヒントや、海外フォーラムのリンク一つでも、突破口を開く巨大なピースになる可能性があります。
これは、一人のエンジニアの孤独な戦いではなく、クローズドなシステムを開放するためのオープンソース的な挑戦です。 誰か、TCL TV 32S5400のroot化方法を、私と一緒に考えてくれませんか? 皆様からの熱い技術的フィードバックを、心よりお待ちしています。


コメント