>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Kotlin

Samsungのファームウェア获取に四处奔波するのはもう终わり — Bifrostという解决方案

Samsungスマートフォンのユーザーは 공감하는 문제가 있습니다。デバイスをフラッシュする必要があるとき、怪しいフォーラムや有料集約サイトを利用することになります。そこで待ち構えているのは、速度制限、終わりなきCAPTCHA、大量の広告です。古いタブレットを生き返らせたり、OTAアップデートを受け取らなくなったスマホのアップデートを試みたりする際に、私も何度もこうした落とし穴に遭遇してきました。

GitHubにはBifrostというプロジェクトがあります。Samsungのサーバーと直接やり取りして公式ファームウェアをダウンロードするツールです。最大の魅力は、完全に免费でオープンソースであり、さらにはこうしたユーティリティとしては珍しく、実用的な作りになっていることです。

このツールでできること

Bifrostは、単にPythonスクリプトをGUIで包んだだけではありません。著者は人気のSamloaderをKotlinで書き直し、Compose Multiplatformを採用しています。その結果、WindowsやmacOSからAndroidまで、あらゆる場所で動作するアプリが実現しています。

特に注目すべき主な機能:

  1. ワークアラウンドなしのクロスプラットフォーム対応。 PCでも、フラッシュ予定のスマホ上でもファームウェアをダウンロードできます。ARM版のWindowsとLinuxもサポートされています。
  2. IMEI不要のダウンロード。 これまではアップデート確認にシリアル番号やIMEIが必要な場合がありました。ここではその制限をバイパスする手法が使用されています。モデル番号(例:SM-S918B)と地域(CSC)さえ分かれば大丈夫です。
  3. 組み込みの復号化機能。 Samsungのファームウェアは暗号化されています(通常は.enc4ファイル)。Bifrostはダウンロードと同時に復号化し、フラッシュ可能なアーカイブに変換します。追加のユーティリティを探す必要はありません。
  4. 地域検索機能。 プログラムには便利なCSCセレクターが備わっています。自国のコードが分からない場合でも、リストから見つけることができます。

内部構造

このプロジェクトは技術的にも興味深いものです。著者のzachareeはモダンなスタックを選択しました:Android向けJetpack Composeとデスクトップ向けJetBrains Composeです。これにより、異なるOS間で同じコードを使用してUIを構築できます。

興味深い詳細として、このアプリはエラー報告にBugsnag、翻訳にWeblateを使用しています。ロシア語インターフェースが不正確に思えたらコミュニティプロジェクトで 쉽게修正できます。

ちなみに、アンチウイルスソフトが突然Bifrostをトロイの木馬と判断しても慌てないでください。同名の古いマルウェアが存在し、ファイル名だけでヒューリスティックエンジンが反応することがあります。ソースコードはオープンなので、すべてを確認したり、必要に応じてGradleで自行ビルドしたりできます。

実践的な使い方

シナリオ:以前のAndroidバージョンにロールバックする必要がある、またはキャリアのブロートウェアなしでクリーンなイメージをダウンロードしたい場合。

  1. Bifrostを起動します。
  2. デバイスモデルを入力します。手机的の設定(「電話について」→ 「ソフトウェア情報」)で確認できます。
  3. 地域を指定します。分からない場合は、プログラム内のリストボタンを使用します。
  4. 「アップデートを確認」をクリックします。
  5. ファームウェアが見つかったら、「ダウンロード」をクリックします。
Desktop download interface

プログラムはパッケージをダウンロードし、整合性を検証してから復号化します。速度は通常Samsungのサーバーに制限されます—有时候は最大100 Mbpsで配信されますが、3〜5 MB/sにスロットルされることもあります。运气次第ですね。

Windowsでプログラムが白い画面で開くケースがありました。これは一部のグラフィックカードでのSkiaレンダリングバグによるものでした。修正は简单です—管理者として実行するか、統合グラフィックスに切り替えます。

こんな人におすすめ

最も恩恵を受けるのは、Samsungデバイスを频繁にいじる機会の多い人です。通話録音やSamsung Payの有効化のために地域を変更するのが好きなエンスージアストや、修理技術者が当てはまります。

Bifrostの強みはシンプルさです。Pythonをインストールしたり、コマンドライン引数を调查したり、ファームウェアサイトの有料サブスクリプションを払ったりする必要はありません。1つのことをうまくやる、便利な实用ツールです。

Androidで使用する予定なら、GitHubのリリースからAPKをダウンロードするだけです。iOS向けにはTestFlightにバージョンがありますが、システム制限により少し複雑です。

Bifrost on Android

試してみる価値はあるか

Samsungを使っているなら—答案是明確です。今すぐファームウェアが必要なくても、このユーティリティをブックマークしておく価値はあります。プロジェクトは活発で、定期的なアップデートと坚実なコミュニティに支えられています。唯一の制限として、Samsung Watch(Galaxy Watch)はサポートされていません。公司が完全なファームウェアファイルを一般公开していないためです。その他のすべて—スマートフォンとタブレット—にとって、これは現在利用可能な最も贤明な解决方案です。

関連プロジェクト