開発者のグループは、MediaTek SP Flash Tool の認証ルーチンをバイパスする Python ユーティリティを作成しました。 今すぐチェックしてください!
MediaTek チップセットを搭載したデバイスには BROM (ブート読み取り専用メモリ) があり、通常はプリローダーをロードします。 実行可能ファイルであり、その後 Android システムを起動しますが、次のような代替ブート モードも備えています。 ダウンロードモード。 これは厳密に OEM サービスを目的としており、デバイスのブリックを解除するために使用できます。 クアルコムの緊急ダウンロード モード (EDL). 「SP Flash Tool」と呼ばれる MediaTek 製の独自プログラムは、このインターフェイスを利用して、デバイス上のシステム ソフトウェアを強制的にフラッシュできます。 低レベルのダウンロード モードではデバイスのストレージを事実上完全に制御できるため、Xiaomi や Realme などの多くの OEM が フラッシュプロセスの難読化を開始しました. この慣行のため、ダウンロード モードによるファームウェアのフラッシュは、対応する OEM によって承認された署名済みの「ダウンロード エージェント」プログラムによってのみ実行できます。つまり、本質的には次のことを意味します。 デバイスメーカーから許可がない限り、自分のスマートフォンをフラッシュしたりブロックを解除したりすることはできません.
さて、XDA の素晴らしい開発者コミュニティが再び助けに来てくれました。 に基づく ブートROMエクスプロイト 元は 発見した XDA 上級メンバーによる xyz`、開発者 ディノレク そして k4y0z これは、フラッシュ中に認証が必要となるさまざまな MediaTek 搭載デバイスと互換性があります。 この方法は、SoC 固有のエクスプロイト ペイロードを利用し、SP Flash Tool によって作成されたプリフラッシュ クエリをインターセプトし、2 つの重要なパラメータの値を強制的に設定します。 ("「シリアルリンク認証」と「ダウンロードエージェント認証」") いかなる許可もなしにフラッシュプロセスを続行するには、 false として指定します。
エクスプロイト ペイロードを阻止するには、特別に調整された USB ドライバーが必要であることに注意することが重要です。 Windows を実行している場合は、libusb ベースのフィルター ドライバーをインストールして、デフォルトのドライバーセットをオーバーライドする必要があります。 一方、Linux ユーザーは次のことを行う必要があります。
特定のパッチを適用する カーネルに。 プライマリ オペレーティング システムに触りたくない場合は、次のものを利用できます。 FireISO – この目的のために特別に設計されたブート可能な GNU/Linux ISO。MediaTek ダウンロード モードにアクセスするには、ターゲット デバイスの電源を切り、音量を上げるボタン (Xiaomi 携帯電話の場合は音量を下げる) を押したまま、携帯電話を PC に接続するだけです。 新しいシリアル デバイスがデバイス マネージャー (Windows) の下にリストされるか、次の出力に表示されるはずです。 dmesg | grep usb
(Linux)。
この時点で、次の簡単な 5 ステップのプロセスに従ってブートロム保護を無効にします。
- ダウンロードとインストール パイソン. Windows ユーザーは、プロンプトが表示されたら「Python X.X を PATH に追加」を選択する必要があります。
- 次を使用して必要な依存関係をインストールします。
pip
:pip install pyusb pyserial json5
- バイパスユーティリティをダウンロードする.
- アーカイブを抽出し、ユーティリティを実行して、携帯電話を MediaTek ダウンロード モードで接続します。 ログの最後に「保護が無効になっています」というメッセージが表示されるはずです。
- ウィンドウズ:
pythonmain.py
- Linux:
./main.py
- ウィンドウズ:
- その後、携帯電話を切断せずに、SP Flash Tool を UART 接続モードで実行します。
以上です! 認証ルーチンはバイパスされ、携帯電話をフラッシュ/ブロック解除する準備が整いました。 より経験豊富なユーザーがこれをさらに一歩進めたい場合は、変更されたパーティションのバックアップをフラッシュすることができます。 失敗したIMEIを修復する, しかし、これはこの記事の範囲を超えています。
現在サポートされている SoC のリストは以下にあります。 バイパス方法は他の MediaTek チップセットでも同様に機能すると理論化されていますが、誰かが最初に適切なペイロードをコーディングしてブートロム保護ルーチンを無効にする必要があります。
サポートされている SoC のリスト
- mt6261
- mt6572
- mt6580
- mt6582
- mt6735
- mt6737
- mt6739
- mt6755
- mt6757
- mt6761
- mt6763
- mt6765
- mt6768
- mt6771
- mt6785
- mt6799
- mt6873
- mt8127
- mt8163
- mt8173
- mt8695
続きを読む
結論
覚えていると思いますが、MediaTek チップセットは 1 年近く前に危険なルートキットの影響を受けやすいことが以前に判明していました。 そして、ルートアクセスを取得するためにハッカーによって積極的に悪用されました. それを考慮すると、なぜ台湾のチップ設計会社が、フラッシュ中に信頼の連鎖を破ることができるチップセットの欠陥をまだ修正していないのかは不明です。 私たちは状況の良い面しか見ていませんが、これらの MediaTek チップを使用している数百のあまり知られていないデバイス モデルを考慮すると、セキュリティの観点からはさらに悪い状況です。
私たちがその利益を代表するカスタム開発コミュニティの観点から見ると、状況には別の側面があります。 MediaTek デバイスの大部分は、ブリックされやすく、復活しにくいという持続不可能な組み合わせに陥っています。 さらに、強制的な認可要件により、アフターマーケットでの開発の可能性が実際に制限されます。 このバイパス方法は、改造シーンからのブロック解除に関連する手間を省きたいだけの MediaTek デバイス所有者にとって、一縷の希望にすぎません。
バイパス メソッドのコードベースの調査に興味がある場合は、以下の GitHub リンクを参照してください。 にアクセスして開発者と対話することもできます。 ディスカッションスレッド.
MediaTek SP Flash ツール認証バイパス GitHub リポジトリ